如何在未处理的异常上崩溃
本文关键字:异常 崩溃 未处理 | 更新日期: 2023-09-27 18:27:44
我在WPF项目中创建了一些自定义异常,我很确定当它们被抛出时,我没有捕捉到它们,但我的应用程序也没有崩溃。但是,异常会记录在输出窗口中。
我的自定义异常源自System.Exception
,如果我的try{}catch{}
语句捕获了我的自定义Exception或System.Exception
,我已经检查了它们。他们都不这么做。我使用的是Visual Studio 2010,并且在32位计算机上运行,所以这似乎是一个不同的问题。
您可以为AppDomain.UnhandledException
事件添加一个处理程序:
AppDomain.CurrentDomain.UnhandledException += App_UnhandledException;
public void App_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
Exception exception = (Exception)e.ExceptionObject;
Error error = new Error(exception, mainViewModel.StateManager.CurrentUser);
mainViewModel.AddError(error);
}
Error
是一个自定义类,我用它来记录数据库中的错误。如果在这个方法中设置了一个断点,那么每当有任何未捕获的Exception
对象被抛出时,执行就会跳到这里。