ASP.NET自定义错误页面

本文详细介绍了如何在ASP.NET应用程序中实现自定义错误页面,以提升用户体验并优雅地处理异常。通过配置Web.config文件,可以实现全局错误捕获,并使用Response.Redirect方法将用户导向错误页面,展示友好的错误信息,同时保持应用的安全性。
摘要由CSDN通过智能技术生成

 

2009年11月23日 星期一 10:21

ASP.NET 提供三种用于在出现错误时捕获和响应错误的主要方法:Page_Error 事件、Application_Error 事件以及应用程序配置文件 (Web.config)。

 

如果您不调用 Server.ClearError 或者捕获 Page_Error 或 Application_Error 事件中的错误,则将根据 Web.config 文件的 <customErrors> 部分中的设置处理错误。在 <customErrors> 部分,可将重定向页指定为默认的错误页 (defaultRedirect) 或者根据引发的 HTTP 错误代码指定特定页。您可使用此方法自定义用户收到的错误信息。
尽管您可在 <customErrors> 部分中 defaultRedirect 属性的值中引用默认的错误页,但是您还可根据引发的 HTTP 错误代码指定要重定向到的特定页。<error> 子元素允许使用此选项
<customErrors mode="On" defaultRedirect="ApplicationErroy.aspx">
    <error statusCode="403" redirect="403.htm"/>
    <error statusCode="404" redirect="404.htm"/>
    <error statusCode="500" redirect="500.htm"/>
</customErrors>

asp.net自定义错误处理页面方法一

1、添加Web.config, < system.web>< /system.web>中添加< customErrors mode="On"

defaultRedirect="ApplicationErroy.aspx" >< /customErrors>节点,

2、添加错误处理页面:ApplicationErroy.aspx调用下面的方法:
private void DealErroy()    
     {    
         HttpException erroy = new HttpException();    
         string strCode = erroy.ErrorCode.ToString();    
         string strMsg = erroy.Message;    
         erroy.HelpLink = "sss";    
         Response.Write("ErrorCode:" + strCode + "< br>");    
         Response.Write("Message:" + strMsg + "< br>");    
         Response.Write("HelpLink:" + erroy.HelpLink + "< br>");    
         Response.Write("Source:" + erroy.Source + "< br>");    
         Response.Write("TargetSite:" + erroy.TargetSite + "< br>");    
         Response.Write("InnerException:" + erroy.InnerException + "< br>");    
         Response.Write("StackTrace:" + erroy.StackTrace + "< br>");    
         Response.Write("GetHtmlErrorMessage:" + erroy.GetHtmlErrorMessage() + "< br>");    
         Response.Write("erroy.GetHttpCode().ToString():" + erroy.GetHttpCode().ToString() + "< br>");    
         Response.Write("erroy.Data.ToString()::" + erroy.Data.ToString() + "< br>");    
     }       
  
private void DealErroy()
      {
          HttpException erroy = new HttpException();
          string strCode = erroy.ErrorCode.ToString();
          string strMsg = erroy.Message;
          erroy.HelpLink = "sss";
          Response.Write("ErrorCode:" + strCode + "< br>");
          Response.Write("Message:" + strMsg + "< br>");
          Response.Write("HelpLink:" + erroy.HelpLink + "< br>");
          Response.Write("Source:" + erroy.Source + "< br>");
          Response.Write("TargetSite:" + erroy.TargetSite + "< br>");
          Response.Write("InnerException:" + erroy.InnerException + "< br>");
          Response.Write("StackTrace:" + erroy.StackTrace + "< br>");
          Response.Write("GetHtmlErrorMessage:" + erroy.GetHtmlErrorMessage() + "< br>");
          Response.Write("erroy.GetHttpCode().ToString():" + erroy.GetHttpCode().ToString() + "< br>");
          Response.Write("erroy.Data.ToString()::" + erroy.Data.ToString() + "< br>");
      }    
  

这种方法不能完整地显示错误信息;

asp.net自定义错误处理页面方法二

1、添加Web.config, < system.web>< /system.web>中添加< customErrors mode="On"

defaultRedirect="ApplicationErroy.aspx" >< /customErrors>节点,

2、添加Global.asax文件,找到Application_Error事件,加入以下代码:    

//这是添加了一个全局应用程序类 Application_Error事件中处理错误页面 web.config没有关系

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值