【发布时间】:2010-02-15 13:45:31
【问题描述】:
我在 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);
}
...
}
但是当发生未处理的异常时,屏幕上会出现很多 MessageBox(异常发生在定时例程中),并且在关闭其中一个后,Windows 会发出信号表示存在未处理的异常。
如何避免出现多个 MessageBox?
如何避免出现未处理异常的消息?
异常后如何终止应用程序?
正如您很容易想到的那样,我想用我的 MessageBox 显示一条消息(但只有一条),然后在没有任何其他消息的情况下终止应用程序。
在与此论点相关的previous question 中,Kyle Rozendo 告诉我使用 DispatcherUnhandledException。有必要还是我写的代码就够了?
谢谢。
【问题讨论】:
标签: c# wpf exception-handling