您的位置:首页 > 其它

利用委托机制处理.NET中的异常

2005-12-12 09:23 441 查看

利用委托机制处理.NET中的异常

Terrylee,2005年12月10日

概述[/b][/b]

在.NET中,可以轻松的通过try-catch块来捕获异常。为了防止在应用程序中出现未处理的异常,可以通过添加一个全局的异常处理函数,如果是多线程的处理,还必须考虑除了主线程之外的工作线程中的异常处理办法,这里用委托机制来实现。

主线程的异常处理[/b][/b]

使用Application对象中的ThreadException属性设置一个delegate来捕获所有的未处理的主线程中出现的异常。注意这个全局异常处理程序,只能捕获到主线程中的异常,对于我们自己添加的工作线程、辅助线程的异常是捕获不到的。

在应用程序入口添加全局异常处理:

1 [STAThread]
5 static void Main()
6public static void MainUIThreadExceptionHandler(Exception ex)
2
7public static void MainUIThreadExceptionHandler(object
13 sender, ThreadExceptionEventArgs e)
14private void DataSave()
5public delegate void
5 WorkerThreadExceptionHandlerDelegate(Exception e);
6
7public void WorkerThreadExceptionHandler(Exception e)
12using System;
2using System.Drawing;
3using System.Collections;
4using System.ComponentModel;
5using System.Windows.Forms;
6using System.Data;
7using System.Threading;
8
9namespace UseDelegateException
10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: