C# WINFORM应用程序未处理异常的统一处理技巧
来源:互联网 发布:html5仿淘宝红包雨 编辑:程序博客网 时间:2024/05/17 12:00
异常处理是每个应用程序都会用到的,纵然在程序编写期间我们都会最大限度的考虑可能发生的异常并进行相应的处理,但是往往并不能完全考虑周全,百密一疏,出现未处理异常而导致程序出错,数据丢失,如用户输入错误数据,网络断开,数据库连接失败等等。这时系统会弹出错误窗口,无论对于自身的代码安全还是良好的用户体验出发,这种现象都是不好的,一个健壮,成熟的应用程序应该有良好的容错能力,并且在出错后自动做出相应BUG的处理,记录,本文和大家探讨这种情况的一般处理方法,老鸟请直接飘过,都是些基础。
原理:在应用程序入口点使用SetUnhandledExceptionMode处理未捕捉的异常,订阅Application.ThreadException,AppDomain.CurrentDomain.UnhandledException事件,创建我们自己的异常处理方法,可以是打开一个统一的异常处理窗体告诉使用者发生了错误,然后记录错误详细信息,因为这旨在说明原理,这部分只是弹出信息表示错误发生并记录,大家可以根据自身实际需求做处理,如出错后弹出一个漂亮的出错提示窗体,把出错详细信息记录到文本、数据库,发送出错邮件到作者信箱或出错后重新初始化等,这就是仁者见仁智者见智,大家自己做了。
演示程序功能:一个除零异常按钮,一个显示抛出异常按钮,均为做TRY CATCH异常处理,发生错误后通过统一的未处理异常处理处理异常,在程序文件夹下生成ErrLog/ ErrLog.txt文件记录详细出错信息并弹出统一出错窗体,程序并不会发生BUG而异常关闭。程序下载:http://download.csdn.net/source/2601973
关键代码如下:
- C# WINFORM应用程序未处理异常的统一处理技巧
- C# WinForm捕获未处理的异常
- C# WinForm捕获未处理的异常
- C# WinForm捕获未处理的异常
- Winform 统一捕获异常,捕获未处理异常
- C# WinForm捕获全局异常(捕获未处理的异常)
- WinForm 处理未处理的异常 Application.ThreadException + AppDomain.CurrentDomain.UnhandledException
- C# WinForm捕获未处理的异常实例解析
- 未处理异常的处理
- C#_WinForm 统一捕获未处理的异常
- C# 捕获未处理的异常
- WinForm程序中未处理异常的解决方法
- WinForm程序中未处理异常的解决方法
- AppDomain的两个小技巧(程序运行完毕和未处理异常的处理) 捕获未处理异常
- 统一的处理异常
- 异常的统一处理
- 统一异常的处理
- 统一的异常处理
- Format 使用方法
- 通讯录(Using Contacts Model (CNTMODEL))
- 读二进制文件到byte中
- 去掉subclipse里记住的用户名密码
- 关闭Xwindows
- C# WINFORM应用程序未处理异常的统一处理技巧
- “走”程序
- 电话簿与vCard的格式转换
- 浅析symbian中RFileLogger用法
- 读Qt for the Symbian Platform (Product Overview)/zh-hans有感
- 1 隔离级别(spring事务管理 )
- SQL中CONVERT转化函数的用法
- [mysql] mysql 在update中实现子查询的方式
- android ListView详解