博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF异常捕获三种处理 UI线程, 全局异常,Task异常
阅读量:6902 次
发布时间:2019-06-27

本文共 1128 字,大约阅读时间需要 3 分钟。

原文:

protected override void OnStartup(StartupEventArgs e)

{
base.OnStartup(e);
RegisterEvents();
}

private void RegisterEvents()

{
//TaskScheduler.UnobservedTaskException += (sender, args) =>
//{
// MessageBox.Show(args.Exception.Message);
// args.SetObserved();
//};

this.DispatcherUnhandledException += App_DispatcherUnhandledException;

TaskScheduler.UnobservedTaskException += new EventHandler<
UnobservedTaskExceptionEventArgs>(TaskScheduler_UnobservedTaskException);

AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

}

private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)

{

}

static void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e)

{
foreach (Exception item in e.Exception.InnerExceptions)
{
Console.WriteLine("异常类型:{0}{1}来自:{2}{3}异常内容:{4}",
item.GetType(), Environment.NewLine, item.Source,
Environment.NewLine, item.Message);
}
//将异常标识为已经观察到 
e.SetObserved();
}

private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)

{
MessageBox.Show("Unhandled exception.");
}

转载地址:http://rkvdl.baihongyu.com/

你可能感兴趣的文章
Ext4文件系统架构分析(三)
查看>>
easyui的combobox,自动搜索的下拉框
查看>>
Android Studio代码自己主动检測错误提示
查看>>
MySQL大数据量分页查询方法及其优化
查看>>
UITableView 自带编辑删除 自己定义button
查看>>
spring boot高性能实现二维码扫码登录(上)——单服务器版
查看>>
如何让shell脚本自杀
查看>>
Hexo NexT 博客后台管理指南
查看>>
零基础学python-3.5 内存管理
查看>>
删除docker registry镜像脚本
查看>>
ip2long与long2IP 分析
查看>>
Spring学习
查看>>
[Angular] Control the dependency lookup with @Host, @SkipSelf and @Optional
查看>>
fastjson 过滤不需要的字段或者只要某些字段
查看>>
操作共享文件夹中的文件
查看>>
MongoDB工具
查看>>
ubuntu16.04 ssh服无法远程连接解决办法
查看>>
项目部署问题:xftp无法连接服务器、Nginx403 Forbidden解决、nginx反向代理解决前端跨域问题...
查看>>
hadoop05---进程线程
查看>>
[转]springcloud(九):配置中心和消息总线(配置中心终结版)
查看>>