WPF中Dispatcher未捕获异常之处理

时间:2022-12-03 22:41:57

在UI线程中

在APP.XAML中定义 DispatcherUnhandledException事件

在工作线程中

PageMain.GetInstance().Dispatcher.Invoke((MethodInvoker)delegate  {

throw ex;
}

任何当前Dispatcher线程(即UI线程)的未处理异常都可以选择处理或者不处理(通过DispatcherUnhandledExceptionEventArgs.IsHandled属性),选择处理的话未处理异常就不会崩溃整个WPF应用程序了。