天天看點

在C#代碼中應用Log4Net(四)在Winform和Web中捕獲全局異常

畢竟人不是神,誰寫的程式都會有bug,有了bug不可怕,可怕的是出錯了,你卻不知道錯誤在哪裡。是以我們需要将應用程式中抛出的所有異常都記錄起來,不然出了錯,找問題就能要了你的命。下面我們主要讨論的是如何捕捉全局的異常。基本上在winform或web中捕獲全局異常的思路都是一樣的,在全局的應用程式對象中添加異常捕獲的代碼,并寫入日志檔案中。

我們需要在program.cs中設定異常的捕捉代碼(如下圖所示)。loghelper類是自定義的日志幫助類,在前面的幾篇文章中已經有涉及到。

在C#代碼中應用Log4Net(四)在Winform和Web中捕獲全局異常

需要在program.cs中添加的代碼如下所示

在C#代碼中應用Log4Net(四)在Winform和Web中捕獲全局異常
在C#代碼中應用Log4Net(四)在Winform和Web中捕獲全局異常

<a href="http://files.cnblogs.com/kissazi2/testlog4n_catch_all_exception.zip" target="_blank">示例性代碼下載下傳</a>

我們隻需要在global.asax檔案中添加異常捕獲的代碼即可。

在C#代碼中應用Log4Net(四)在Winform和Web中捕獲全局異常

完整global.asax代碼如下所示

在C#代碼中應用Log4Net(四)在Winform和Web中捕獲全局異常
在C#代碼中應用Log4Net(四)在Winform和Web中捕獲全局異常

<a href="http://files.cnblogs.com/kissazi2/webapplication_testlog4net.zip" target="_blank">示例程式下載下傳</a>

我們隻需要在app.xaml檔案中添加異常捕獲的代碼即可。

在C#代碼中應用Log4Net(四)在Winform和Web中捕獲全局異常

在wpf中捕獲全局異常主要涉及到以下兩個事件

完整的app.xaml檔案如下所示

在C#代碼中應用Log4Net(四)在Winform和Web中捕獲全局異常
在C#代碼中應用Log4Net(四)在Winform和Web中捕獲全局異常

<a href="http://files.cnblogs.com/kissazi2/wpfapplication1.zip" target="_blank">示例代碼下載下傳</a>

本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

轉載:http://www.cnblogs.com/kissazi2/p/3393151.html