ASP.NET的錯誤類型及錯誤處理方式
語法錯誤﹑邏輯錯誤﹑編譯錯誤﹑運行時錯誤以及配置錯誤
二﹑錯誤的處理﹕
1﹑使用驗証.具體操作步驟點選方案按右鍵選屬性,組態屬性﹐建置中的檢查算朮溢位/反向溢位設為True, VS默認為False.這個簡單。只需設置一個屬性就可以檢驗溢出Debug.
2﹑編程處理比如說Try…Cathch…Finally,Page_Error,Application_Error,
這三個是一種遞進式的錯誤級別﹐Try…Catch…Finally捕獲代碼內的錯誤﹐然后Throw進Page_Error事件﹐再由Page_Error事件Throw 至Application_Error, 兩種錯誤一般都會寫入Windows 日志中。以便于我們開發人員獲取錯誤信息﹐而用戶可能毫無知覺的。
3﹑用配置文件來處理﹐也就是說當發生錯誤時﹐將錯誤轉向一個統一的頁面。
在Web.Config文件中加入類似如下代碼﹕
<customErrors mode="Off" defaultRedirect="Error.aspx?Info=Unknow"/>
對于我的另一篇文章”ASP.NET的錯誤類型及處理方式”一文中﹐我曾提到可以將錯誤寫進Windows日志中﹐以便開發人員查看。可是Asp.Net默認情況下并沒有寫Windows日志的權限﹐而設置這個﹐我們就需要修改注冊表了。
“開始”->”運行”->”RegEdit”直至HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog
“使用權限”->安全性”新增”﹐加入Asp.net帳號﹐并賦于讀取的權限->保存退出注冊表。
接下來在Asp.net中我們可以使用如下的C#代碼寫Windows日志﹕
string strMessage = Server.GetLastError().Message;
Server.ClearError();
if(!EventLog.SourceExists("mySource"))
EventLog.CreateEventSource("mySource","myLog");
EventLog Event = new EventLog();
Event.Source = "mySource";
Event.WriteEntry(strMessage,EventLogEntryType.Information);
浙公网安备 33010602011771号