asp.net錯(cuò)誤捕獲(錯(cuò)誤處理)page_error事件使用方法
ASP.NET 提供了三種用于在出現(xiàn)錯(cuò)誤時(shí)捕獲和響應(yīng)錯(cuò)誤的主要方法:page_error事件、application_error 事件以及應(yīng)用程序配置文件 (Web.config)。
這三種方法的主要作用無(wú)非是創(chuàng)建自定義的錯(cuò)誤報(bào)告,創(chuàng)建自定義錯(cuò)誤報(bào)告的作用無(wú)非是:出于安全方面的考慮,還有就是為了向用戶(hù)展示友好的錯(cuò)誤頁(yè)面,提高程序的友好性。
Page_Error 事件,現(xiàn)舉例說(shuō)明如下:
此示例在瀏覽器中顯示了詳細(xì)的錯(cuò)誤信息,提供此示例只是為了進(jìn)行說(shuō)明。向應(yīng)用程序的最終用戶(hù)展示出錯(cuò)的詳細(xì)信息是非常危險(xiǎn)的(尤其是web程序)。更適當(dāng)?shù)淖龇ㄊ窍蛴脩?hù)顯示一條消息,告知其已發(fā)生錯(cuò)誤,然后將具體的錯(cuò)誤信息記錄在事件日志中。
本例是在Page_Load事件中有意引發(fā)一個(gè)空異常來(lái)測(cè)試Page_Error 事件的。
舉例:創(chuàng)建web程序 — 新建頁(yè)面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ò)誤頁(yè)面
Server.ClearError();
}
</script>
保存,右擊該頁(yè)面 —“在瀏覽器中查看”,即可看到捕獲到的自定義錯(cuò)誤信息
- asp.net服務(wù)器上幾種常見(jiàn)異常的解決方案.
- 在 .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的頁(yè)腳中顯示統(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頁(yè)面中處理BLL/DAL層的異常
相關(guān)文章
Net Core全局配置讀取管理方法ConfigurationManager
這篇文章主要為大家詳細(xì)介紹了Net Core全局配置讀取管理方法ConfigurationManager的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08教你Asp.net下使用mysql數(shù)據(jù)庫(kù)的步驟
近日,在項(xiàng)目中遇到了麻煩,客戶(hù)非要求使用mysql數(shù)據(jù)庫(kù),對(duì)于我從來(lái)么有使用過(guò)的人來(lái)說(shuō),很是頭疼,最后還是硬著頭皮弄好了。期間也遇到了各種各樣的問(wèn)題,現(xiàn)在把他整理在此,希望對(duì)那些和我一樣從來(lái)沒(méi)有使用過(guò)的人,能快速入手2012-05-05AJAX使用post發(fā)送數(shù)據(jù)xml格式接受數(shù)據(jù)
AJAX使用post發(fā)送數(shù)據(jù)xml格式接受數(shù)據(jù),需要的朋友可以參考一下2013-03-03asp.net?core?MVC?全局過(guò)濾器之ExceptionFilter過(guò)濾器(1)
這篇文章主要為大家詳細(xì)介紹了asp.net?core?MVC?全局過(guò)濾器之ExceptionFilter過(guò)濾器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08ASP.NET?MVC5網(wǎng)站開(kāi)發(fā)之用戶(hù)添加和瀏覽2(七)
這篇文章主要為大家詳細(xì)介紹了ASP.NET?MVC5網(wǎng)站開(kāi)發(fā)之用戶(hù)添加和瀏覽,感興趣的小伙伴們可以參考一下2016-08-08利用asp.net實(shí)現(xiàn)生成不重復(fù)訂單號(hào)
訂單號(hào)在購(gòu)物過(guò)程中起到了很好的識(shí)別作用,更方便的有利于工作人員識(shí)別商品,本文介紹利用asp.net實(shí)現(xiàn)生成訂單號(hào)2012-12-12.net泛型通用函數(shù)的特殊問(wèn)題的解決方法
本文介紹了.net泛型通用函數(shù)的特殊問(wèn)題的解決方法,需要的朋友可以參考一下2013-02-02