我在 WPF 项目中创建了一些自定义异常,我很确定当它们被抛出时我没有捕获它们,但我的应用程序也没有崩溃。但是,异常记录在输出窗口中。
我的自定义异常源自System.Exception
并且我已经检查了我的所有try{}catch{}
语句是否捕获了我的自定义异常或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
对象被抛出,执行就会跳转到这里。