WPF 精修篇 全局为处理异常处理

原文: WPF 精修篇 全局为处理异常处理

当我们写代码的时候 对代码错误异常处理 有的时候会 没做处理 

比如 我们执行如下代码 会引发程序崩溃


  
  
  1. private void Button_Click(object sender, RoutedEventArgs e)
  2. {
  3. throw new Exception( "字符串引发异常 日志输出");
  4. }

这是我们不能接受的 

当我们遇到这个问题 要一个一个的去寻找 担惊受怕  那有没有一个方法 能拦截所有的异常 不然程序挂掉那?

有的 WPF 中 dispatcherUnhandledException

我们在APP里 重写 Onstartup 方法


  
  
  1. public partial class App : Application
  2. {
  3. protected override void OnStartup(StartupEventArgs e)
  4. {
  5. base.OnStartup(e);
  6. DispatcherUnhandledException += App_DispatcherUnhandledException;
  7. }
  8. void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
  9. {
  10. MessageBox.Show(e.Exception.ToString());
  11. e.Handled = true;
  12. // throw new NotImplementedException();
  13. }
  14. }

在这里 我们可以拦截所有的未处理异常 写日志 或者重启都可以

猜你喜欢

转载自www.cnblogs.com/lonelyxmas/p/12075432.html