未处理的异常

时间:2010-11-23 14:54:51

标签: c# exception exception-handling

我编写了一个监视Unhandled Exceptions的实用程序,然后在发生错误时创建一个minidump。

有没有办法,当事件触发时,而不是让标准的消息框显示未处理的异常,我可以禁用它并用不同的信息显示我自己的吗?

感谢。

4 个答案:

答案 0 :(得分:2)

如果您正在实施它,您可以随心所欲地做任何事情。在MessageBox上显示它或将其写入日志文件。

答案 1 :(得分:2)

处理Application.ThreadException事件以显示您自己的错误消息。

您可以将事件挂钩在主方法的顶部,如下所示:

Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

然后你需要Handler方法:

static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
    MessageBox.Show(e.Exception.ToString());
}

编辑:您还可以处理AppDomain.UnhandledException事件,因为某些异常不会通过ThreadException处理程序。

答案 2 :(得分:1)

你可以这样做,

catch(Exception e)
{
throw new Exception("This is unhandled exception");
}

答案 3 :(得分:0)