在发生错误页抛出自定义异常,然后,统一页面显示异常信息
Global.asax:Application_Error事件,用于捕获自定义异常信息,并存入Application
void Application_Error(object sender, EventArgs e)
{
//取得异常
Exception error = Server.GetLastError().GetBaseException();
//存入Application,以便错误页取用
Application["ERRORMSG"] = error.Message;
//Server.GetLastError().GetBaseException()自定义错误页或其它页取得为空,不知道为什么,知道的请告诉一声,谢谢
}
{
//取得异常
Exception error = Server.GetLastError().GetBaseException();
//存入Application,以便错误页取用
Application["ERRORMSG"] = error.Message;
//Server.GetLastError().GetBaseException()自定义错误页或其它页取得为空,不知道为什么,知道的请告诉一声,谢谢
}
Web.config:用于指定自定信息页(发生错误时转向页) defaultRedirect指定错误转向页
<customErrors mode="On" defaultRedirect="~/CustomError.aspx">
</customErrors>
</customErrors>
CustomError.aspx:错误信息显示页
if (Application["ERRORMSG"] != null)
{
Response.Write("错误信息是:" + Application["ERRORMSG"].ToString());
Response.Write("<br />错误页面是:" + Request.QueryString["aspxerrorpath"]);
}
{
Response.Write("错误信息是:" + Application["ERRORMSG"].ToString());
Response.Write("<br />错误页面是:" + Request.QueryString["aspxerrorpath"]);
}
FoundErr.aspx:发生错误页
throw new Exception("自定义错误信息");
参考:http://support.microsoft.com/kb/306355/zh-cn
标题:在 ASP.NET 中创建自定义错误报告