asp.net錯(cuò)誤捕獲(錯(cuò)誤處理)page_error事件使用方法
ASP.NET 提供了三種用于在出現(xiàn)錯(cuò)誤時(shí)捕獲和響應(yīng)錯(cuò)誤的主要方法:page_error事件、application_error 事件以及應(yīng)用程序配置文件 (Web.config)。
這三種方法的主要作用無非是創(chuàng)建自定義的錯(cuò)誤報(bào)告,創(chuàng)建自定義錯(cuò)誤報(bào)告的作用無非是:出于安全方面的考慮,還有就是為了向用戶展示友好的錯(cuò)誤頁面,提高程序的友好性。
Page_Error 事件,現(xiàn)舉例說明如下:
此示例在瀏覽器中顯示了詳細(xì)的錯(cuò)誤信息,提供此示例只是為了進(jìn)行說明。向應(yīng)用程序的最終用戶展示出錯(cuò)的詳細(xì)信息是非常危險(xiǎn)的(尤其是web程序)。更適當(dāng)?shù)淖龇ㄊ窍蛴脩麸@示一條消息,告知其已發(fā)生錯(cuò)誤,然后將具體的錯(cuò)誤信息記錄在事件日志中。
本例是在Page_Load事件中有意引發(fā)一個(gè)空異常來測(cè)試Page_Error 事件的。
舉例:創(chuàng)建web程序 — 新建頁面PageEvent.aspx,然后將以下代碼添加到PageEvent.aspx中:
<script language="C#" runat="server">
void Page_Load(object sender, System.EventArgs e)
{
// 引發(fā)“空引用”異常 keleyi.com
throw (new ArgumentNullException());
}
protected void Page_Error(object sender, EventArgs e)
{
Exception objErr = Server.GetLastError().GetBaseException(); // 獲取錯(cuò)誤
string err = "1.error in: " + Request.Url.ToString() + "</br>" +
"2.error Message: " + objErr.Message.ToString() + "</br>" +
"3.stack Trace: " + objErr.StackTrace.ToString() + "</br>";
Response.Write(err.ToString()); //輸出錯(cuò)誤信息
// Response.Redirect("ErrorPage.htm"); //可以重定向到友好的錯(cuò)誤頁面
Server.ClearError();
}
</script>
保存,右擊該頁面 —“在瀏覽器中查看”,即可看到捕獲到的自定義錯(cuò)誤信息
- asp.net服務(wù)器上幾種常見異常的解決方案.
- 在 .NET Framework 2.0 中未處理的異常導(dǎo)致基于 ASP.NET 的應(yīng)用程序意外退出
- asp.net運(yùn)行提示未將對(duì)象引用設(shè)置到對(duì)象的實(shí)例錯(cuò)誤解決方法
- Asp.net Mvc 身份驗(yàn)證、異常處理、權(quán)限驗(yàn)證(攔截器)實(shí)現(xiàn)代碼
- asp.net iis7默認(rèn)文檔錯(cuò)誤異常的解決方法
- asp.net 錯(cuò)誤:0x8007000B 異常的解決方法
- 在ASP.NET 2.0中操作數(shù)據(jù)之十四:使用FormView 的模板
- 在ASP.NET 2.0中操作數(shù)據(jù)之十五:在GridView的頁腳中顯示統(tǒng)計(jì)信息
- 在ASP.NET 2.0中操作數(shù)據(jù)之十六:概述插入、更新和刪除數(shù)據(jù)
- 在ASP.NET 2.0中操作數(shù)據(jù)之十七:研究插入、更新和刪除的關(guān)聯(lián)事件
- 在ASP.NET 2.0中操作數(shù)據(jù)之十八:在ASP.NET頁面中處理BLL/DAL層的異常
相關(guān)文章
Springboot服務(wù)Docker化自動(dòng)部署的實(shí)現(xiàn)方法
這篇文章主要介紹了Springboot服務(wù)Docker化自動(dòng)部署的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
.NET Core 遷移躺坑記續(xù)集之Win下莫名其妙的超時(shí)
這篇文章主要介紹了.NET Core 遷移躺坑記續(xù)集之Win下莫名其妙的超時(shí),本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04
Asp.net SignalR創(chuàng)建實(shí)時(shí)聊天應(yīng)用程序
這篇文章主要介紹了Asp.net SignalR創(chuàng)建實(shí)時(shí)聊天應(yīng)用程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
Asp.net中static變量和viewstate的使用方法(謹(jǐn)慎)
如在頁面中統(tǒng)計(jì)某個(gè)按鈕被按下的次數(shù),先在類中OnClick事件的處理過程前定義一static變量times,則每次調(diào)用該按鈕的OnClick事件時(shí),令times增1即可,非常方便,接下來詳細(xì)介紹,感興趣的朋友可以了解下2013-01-01
asp.net下通過泛解析和偽靜態(tài)實(shí)現(xiàn)二級(jí)域名的實(shí)現(xiàn)方法
當(dāng)我們想做一個(gè)站群或想為每一個(gè)會(huì)員的主頁設(shè)置為一個(gè)二級(jí)域名時(shí),總是想拼命的去找些組件來實(shí)現(xiàn)。2010-10-10

