利用自定义的异常处理重起你的应用程序(续)

类别:VC语言 点击:0 评论:0 推荐:

(接上)当加入自定义异常处理类后,通过将下面两行代码加入到主函数中(在Application.Run前面)使它融入到结构中,当第二行将CustomExceptionHandler.OnThreadException附加到TreadException事件时第一行将实例化先前已定义的类,当一个异常没被处理被抛弃后,OnTreadException将被自动调用。

1.           CustomExceptionHandler eh    = new CustomExceptionHandler();

2.           Application.ThreadException += new System.Threading.

3.                                          ThreadExceptionEventHandler(eh.OnThreadException);

 

现在,开始测试,在程序中加入如图的两个按钮,正如你看的,我测试的只是不被处理的异常会引起程序的冲起。

 

 

为“Handled Exception”按钮按键处理加入如下代码:

4.           private void btnHandledException_Click(object sender,

5.                                                  System.EventArgs e)

6.           {

7.             try

8.             {

9.               throw new Exception("Handled Exception");

10.         }

11.         catch (Exception ex)

12.         {

13.           MessageBox.Show(ex.Message);

14.         }

15.       }

为“UnHandled Exception”按钮按键处理加入如下代码:

16.       private void btnUnhandledException_Click(object sender,

17.                                                System.EventArgs e)

18.       {

19.         throw new Exception("Unhandled Exception!!");

20.       }

 

运行应用程序时,当你按” Handled Exception”钮时,只回出现事先设定的消息文本的窗口,按” UnHandled Exception”钮时,将显示结果已写在日志里将重起程序。如图:

click here下载源代码

本文地址:http://com.8s8s.com/it/it830.htm