如何捕获winform程序全局异常?(续)
2013-07-21 09:25
369 查看
前言
上篇文章我提供了一种方案可以供我们捕获单线程程序中的所有未处理异常。但是如果程序是多线程,那么新增线程出现了异常上个方案就无能为力了。本着方案总比问题多的态度,我再给大家提供一种新的方案,供大家参考。处理多线程程序的全局异常demo
好了下面直接上代码:using System; using System.Threading; using System.Windows.Forms; namespace TestManyThreadException { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, System.EventArgs e) { throw new IndexOutOfRangeException("无效的异常操作"); } private void button2_Click(object sender, System.EventArgs e) { Thread th = new Thread(new ThreadStart(ThreadStart1)); th.Start(); } private void ThreadStart1() { throw new FormatException("多线程异常,格式异常"); } } }
好了,运行上面的代码,直接点击button2,然后就会出现如下界面:
[caption id="attachment_1229" align="alignnone" width="871"]
捕获全局异常2[/caption]
button1的按钮结果就展示了,上篇文章中已经展示过了。这次仅仅是新增了非UI线程的代码而已。
总结
本文提供了,为winform程序捕获全局异常的一个方案,希望对大家有所帮助。如果你有更好的方案欢迎大家在这里提出来我们共同思考。上面这两篇文章都是我们研究.NET Framework类库的结果,直接那个类提供了那个事件,供我们使用,所以我们以后还要经常研究net Framework的类库。
相关文章推荐
- 转:如何捕获winform程序全局异常?
- 如何捕获winform程序全局异常?
- 如何捕获Wince下form程序的全局异常
- winform程序不能同时开启两个应用程序的判断以及捕获全局未处理异常
- Winform 主程序入口中记录并捕获全局异常
- 在C#代码中应用Log4Net(四)在Winform和Web中捕获全局异常
- winform程序未捕获异常解决方法
- 如何在linux程序中捕获异常信号
- 转 C#WinForm程序异常退出的捕获、继续执行与自动重启
- winform程序未捕获异常解决方法 (转)
- C# WINFORM 捕获全局异常
- android 程序全局自动捕获异常 专制系统奔溃,异常退出无法找到原因的问题
- 如何让Delphi在调试运行程序时正确执行捕获异常
- winform 记录全局异常捕获
- Winform程序全局热键与局部热键(键盘快捷键的捕获)
- 在C#代码中应用Log4Net(四)在Winform和Web中捕获全局异常
- Android全局异常处理(捕获异常,不弹出程序崩溃)
- Android全局异常处理(捕获异常,不弹出程序崩溃)
- C# WINFORM 捕获全局异常
- winform程序未捕获异常解决方法