WPF全局异常捕获
在webform中的Global文件中有一个Application_Error方法,专门用来捕获整个应用程序的异常,以至于不会出现“黄白页”给用户,以此来提高
系统的健壮性和安全性,那么wpf中也有类似的方法吗?当然,wpf跟webform神似,他有的我也有,这里是一个DispatcherUnhandledException
事件,然后我们在OnStartup注册一下就Ok了。
1 namespace Demo 2 { 3 /// <summary> 4 /// App.xaml 的交互逻辑 5 /// </summary> 6 public partial class App : Application 7 { 8 protected override void OnStartup(StartupEventArgs e) 9 { 10 base.OnStartup(e); 11 12 //注册Application_Error 13 this.DispatcherUnhandledException += new DispatcherUnhandledExceptionEventHandler(App_DispatcherUnhandledException); 14 15 } 16 17 //异常处理逻辑 18 void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) 19 { 20 //处理完后,我们需要将Handler=true表示已此异常已处理过 21 e.Handled = true; 22 } 23 } 24 }