博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编写高质量代码改善C#程序的157个建议——建议65:总是处理未捕获的异常
阅读量:5098 次
发布时间:2019-06-13

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

建议65:总是处理未捕获的异常

处理为捕获的异常是每个应用程序具备的基本功能,C#在APPDomain提供了UnhandledException事件来接收未捕获到的异常的通知。常见的应用如下:

static void Main(string[] args)        {            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);        }        static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)        {            Exception error = (Exception)e.ExceptionObject;            Console.WriteLine("MyHandler caught : " + error.Message);        }

未捕获异常通常就是运行时期的Bug,我们可以在AppDomain.CurrentDomain.UnhandledException的注册事件方法CurrentDomain_UnhandledException中,将未捕获的异常信息记录在日志中。UnhandledException提供的机制并不能阻止应用程序终止,也就是说,执行CurrentDomain_UnhandledException方法后,应用程序就会终止。

 

在WinForm程序中使用ThreadException事件来处理UI线程异常,使用UnhandledException事件来处理非UI线程异常。ThreadException可以阻止应用程序终止。

 

 

 

 

转自:《编写高质量代码改善C#程序的157个建议》陆敏技

转载于:https://www.cnblogs.com/jesselzj/p/4737919.html

你可能感兴趣的文章
UVALive - 3700 Interesting Yang Hui Triangle
查看>>
HDU - 1205 吃糖果
查看>>
正确实现 IDisposable 接口
查看>>
移动平均(moving average,MA)简单介绍
查看>>
模型驱动复习整理
查看>>
自我介绍及软件工程学习计划
查看>>
PLC状态机编程第三篇-RS信号处理
查看>>
shell笔记(基本知识)
查看>>
SSDB 数据库
查看>>
【搜索】POJ-2718 全排列+暴力
查看>>
vue项目经验:图形验证码接口get请求处理
查看>>
解决:linux 固定ip 导致ping 外网unknown host
查看>>
LeetCode 210. Course Schedule II
查看>>
人见人爱,花见花开的数据库
查看>>
关于<context:property-placeholder>的一个有趣现象
查看>>
XigmaNAS中virtualbox无法启动问题
查看>>
C++用new创建对象和不用new创建对象的区别解析
查看>>
【Packet Tracer 实验笔记4】
查看>>
Why C++ ? 王者归来
查看>>
ServletContext实现转发和读取Properties配置文件
查看>>