追梦人.Net学习日记

  ASP.NET学习,需要我们去实践中模索,记录一些平时学习中的点点滴滴.....

   :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ASP.NET的錯誤類型及錯誤處理方式

一﹑常見的錯誤類型﹕

語法錯誤﹑邏輯錯誤﹑編譯錯誤﹑運行時錯誤以及配置錯誤

二﹑錯誤的處理﹕

1﹑使用驗証.具體操作步驟點選方案按右鍵選屬性,組態屬性﹐建置中的檢查算朮溢位/反向溢位設為True, VS默認為False.這個簡單。只需設置一個屬性就可以檢驗溢出Debug.

2編程處理比如說TryCathchFinally,Page_Error,Application_Error,

這三個是一種遞進式的錯誤級別﹐TryCatchFinally捕獲代碼內的錯誤﹐然后ThrowPage_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);
posted on 2006-10-23 16:11  ZmStudio.CN  阅读(104)  评论(0)    收藏  举报