[转][C#]【WPF】 添加全局异常捕获

在 App.xaml.cs 里,override OnStartup ,添加以下代码:
// 添加异常捕获
Current.DispatcherUnhandledException += Current_DispatcherUnhandledException;
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;
对应以下方法:
private void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e)
{
    MessageBox.Show(e.Exception.Message);
}

private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
    MessageBox.Show((e.ExceptionObject as Exception).Message);
}

private void Current_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
    MessageBox.Show(e.Exception.Message);
    e.Handled = true;
}

参考:https://blog.csdn.net/qq_39847278/article/details/130554616

posted on 2024-01-08 15:27  z5337  阅读(174)  评论(0)    收藏  举报