asp.net中自定义错误处理页面

来源:互联网 发布:php抢红包系统源码 编辑:程序博客网 时间:2024/05/17 12:23

方法一:
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>");
     }
这种方法不能完整地显示错误信息;
方法二:
1、添加Web.config, <system.web></system.web>中添加<customErrors mode="On"

defaultRedirect="ApplicationErroy.aspx" ></customErrors>节点,
2、添加Global.asax文件,找到Application_Error事件,加入以下代码:
     Exception erroy = Server.GetLastError();
         string err = "出错页面是:" + Request.Url.ToString() + "<br>";
         err += "异常信息:" + erroy.Message + "<br>";
         err += "Source:" + erroy.Source + "<br>";
         err += "StackTrace:" + erroy.StackTrace + "<br>";
         Server.ClearError();
         Application["erroy"] = err;
2、添加错误处理页面:ApplicationErroy.aspx 加入以下代码;
    Response.Write(Application["erroy"].ToString());
这种方法能完整地显示错误信息,
最好的办办法还是两种方法一起用最好!

另:web.config中也可以把
<error statusCode="403" redirect="NoAccess.htm" />//访问被禁止
<error statusCode="404" redirect="FileNotFound.htm" />//找不到页面
添加进去

http错误代码含义:  
   "100"    :    Continue    
   "101"    :    witching    Protocols    
   "200"    :    OK    
   "201"    :    Created    
   "202"    :    Accepted    
   "203"    :    Non-Authoritative    Information    
   "204"    :    No    Content    
   "205"    :    Reset    Content    
   "206"    :    Partial    Content    
   "300"    :    Multiple    Choices    
   "301"    :    Moved    Permanently    
   "302"    :    Found    
   "303"    :    See    Other    
   "304"    :    Not    Modified    
   "305"    :    Use    Proxy    
   "307"    :    Temporary    Redirect    
   "400"    :    Bad    Request    
   "401"    :    Unauthorized    
   "402"    :    Pay

   "403"    :    Forbidden    
   "404"    :    Not    Found    
   "405"    :    Method    Not    Allowed    
   "406"    :    Not    Acceptable    
   "407"    :    Proxy    Authentication    Required    
   "408"    :    Request    Time-out    
   "409"    :    Conflict    
   "410"    :    Gone    
   "411"    :    Length    Required    
   "412"    :    Precondition    Failed    
   "413"    :    Request    Entity    Too    Large    
   "414"    :    Request-URI    Too    Large    
   "415"    :    Unsupported    Media    Type    
   "416"    :    Requested    range    not    satisfiable    
   "417"    :    Expectation    Failed    
   "500"    :    Internal    Server    Error    
   "501"    :    Not    Implemented    
   "502"    :    Bad    Gateway    
   "503"    :    Service    Unavailable    
   "504"    :    Gateway    Time-out    
   "505"    :    HTTP    Version    not    supported  

原创粉丝点击