处理c#中的致命异常

本文关键字:异常 处理 | 更新日期: 2023-09-27 18:13:44

当我的程序遇到致命错误并崩溃时,我如何执行一些代码?例如,某个地方出了问题,弹出框说"TestApp.exe遇到错误,需要关闭",然后我想写一个带有错误代码的文件,并报告最后输入到程序中的几件事。我如何在c#中做到这一点??

处理c#中的致命异常

根据您正在编写的应用程序的类型,有不同的方法。您可以看看下面的文章,看看如何在WinForms应用程序中实现这一点。

一般来说,为Exception, FatalException和其他两种类型编写处理程序是一个坏主意,您应该在try.. catch子句中更具体。尝试探索Application类,特别是它的SetUnhandledExceptionMode。您可以在这里找到一个关于如何使用它的很好的示例。

这取决于你在这里问什么。

常规异常可以通过try/catch获得。

然而,如果你正在运行任何外部dll,例如可能得到损坏的状态异常(cse),你需要在你的app.config中启用legacycorruptedstateexceptionsppolicy(但不要忘记,微软有理由将其作为默认值删除,就像以前一样。)你应该设法解决这类错误,而不是抓住它们然后忘记它们)

http://dotnetslackers.com/articles/net/All-about-Corrupted-State-Exceptions-in-NET4.aspx

要将错误记录到文件中,您可以使用log4net

它应该是这样的:

try
{
// Something potentially dangerous
}
catch (Exception Ex)
{
    Logger.Append(Ex.Message);
}