我在一个WPF应用程序中遇到了问题。我写了这段代码:
public partial class App : Application
{
public App()
{
AppDomain.CurrentDomain.UnhandledException += new
UnhandledExceptionEventHandler(MyHandler);
}
void MyHandler(object sender, UnhandledExceptionEventArgs e)
{
Exception exception = e.ExceptionObject as Exception;
MessageBox.Show(exception.Message, "ERROR",
MessageBoxButton.OK, MessageBoxImage.Error);
}
...
}
但当未处理的异常发生时,屏幕上会出现很多消息框(异常发生在定时例程中),关闭其中一个后,Windows会提示存在未处理的异常。如何避免多个消息框?如何避免未处理异常的消息?如何在异常后终止应用程序?显然,我想使用我的MessageBox显示一条消息(但只有一条),然后终止应用程序,不再出现其他消息。在与此相关的先前的问题中,Kyle Rozendo告诉我要使用DispatcherUnhandledException。这是必需的吗?还是我编写的代码已经足够了?谢谢。