在UI线程中
在APP.XAML中定义 DispatcherUnhandledException事件
在工作线程中
PageMain.GetInstance().Dispatcher.Invoke((MethodInvoker)delegate {
throw ex;
}
任何当前Dispatcher线程(即UI线程)的未处理异常都可以选择处理或者不处理(通过DispatcherUnhandledExceptionEventArgs.IsHandled属性),选择处理的话未处理异常就不会崩溃整个WPF应用程序了。