在本文中我們將通過一個簡單的處理來記錄在我們的網站中的錯誤和異常我們會這樣操作每當遇到程序錯誤時將使用者導航到一個單獨的頁面同時錯誤將被記錄到服務器上的一個文本文件每當錯誤發生時我們將以日志的形式每天記錄說了這麼多讓我們來看一些代碼
步驟一首先創建一個錯誤文件夾用於存放錯誤日志文件鼠標右鍵站點 > 創建新文件夾將該文件夾命名為Error 如果站點中沒有 Webconfig 文件時請添加一個 右鍵站點 > 添加新項目 > Webconfig
步驟二現在我們要創建一個錯誤處理的代碼我們只需要右鍵站點 > 添加新項目 > 選擇類 重命名該類為ErrHandlercs 然後單擊 添加 按鈕當你這麼操作的時候會彈出一個對話框是否要將這個類文件保存在App_Code裡面我們選擇接受
步驟三現在我們為ErrHandlerclass添加一些功能該類用於接受錯誤信息並將錯誤信息保存在一個文本文件中每天創建一個這樣的文本文件如果已經存在相同的文件名時錯誤信息將會追加到這個文件中否則就創建一個新文件並將錯誤信息寫入該文件
代碼看來如下
/// Handles error by accepting the error message
/// Displays the page on which the error occured
public static void WriteError(string errorMessage)
{
try
{
string path =
~/Error/
+ DateTime
Today
ToString(
dd
mm
yy
) +
txt
;
if (!File
Exists(System
Web
HttpContext
Current
Server
MapPath(path)))
{
File
Create(System
Web
HttpContext
Current
Server
MapPath(path))
Close();
}
using (StreamWriter w = File
AppendText(System
Web
HttpContext
Current
Server
MapPath(path)))
{
w
WriteLine(
\r\nLog Entry :
);
w
WriteLine(
{
}
DateTime
Now
ToString(CultureInfo
InvariantCulture));
string err =
Error in:
+ System
Web
HttpContext
Current
Request
Url
ToString() +
Error Message:
+ errorMessage;
w
WriteLine(err);
w
WriteLine(
__________________________
);
w
Flush();
w
Close();
}
}
catch (Exception ex)
{
WriteError(ex
Message);
}
}
這就是我們的ErrHandler類了然後我們來看看如何使用這個類和在Page級中(Application級中)處理錯誤
在Page級中處理錯誤
在Defaultaspx中從工具箱中添加一個button控件將這個button命名為 btnError 並設置值為 Throw Handled Exception我們將拋出一個異常只要我們定義了 catch 塊當錯誤發生時就會被捕捉到並登記在Error文件夾中文本文件將以當天的日期作為文件名不存在文件時一個新的文件將會被以下代碼所創建
[] [] []
From:http://tw.wingwit.com/Article/program/net/201311/15393.html