您的位置:首页 > 编程语言 > ASP

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

2008-03-05 15:30 721 查看
 

两种方法均为全站出错处理
方法一:
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"    :    Payment    Required     
   "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   

 本文转自http://hi.baidu.com/point_deng/blog/item/e585fe13e39573035baf5351.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息