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>");
}
这种方法不能完整地显示错误信息;
方法二:
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

你可能感兴趣的:(asp.net自定义错误页面)