asp.net异常处理和错误页配置

最近做一个项目,直接拷贝了前辈写的程序,结果报错了查了半天都没查出原因,也看不出哪里报错,最后发现有一个错误被try...catch了,所以我们做项目的时候一般不需要try...catch。

假设所有的异常都没有处理那我们可以在global.asax里面处理

  protected void Application_Error(object sender, EventArgs e)
{ }

错误页配置

1、在webconfig里面配置如下:

 <customErrors mode="RemoteOnly" defaultRedirect="~/PageError.htm">
<error statusCode="" redirect="NoAccess.htm" />
<error statusCode="" redirect="FileNotFound.htm" />
</customErrors> </system.web>

如上代码: mode有3种模式,如果配置为off他将把所有的错误原封不动的暴漏给用户配置为on的时候遇到错误会自动跳到不同的错误页面,最后一个RemoteOnly本地暴漏错误                 远程屏蔽错误显示指定页面。

2、把整个项目的错误记录到日志中

  private static ILog logger = LogManager.GetLogger(typeof(Global));

   protected void Application_Error(object sender, EventArgs e)
{
string errorMsg = Context.Error.Message + Environment.NewLine + Context.Error.StackTrace + Environment.NewLine + "==========================================================" + Environment.NewLine;
//1.把错误记录的日志中 logger.Error("网站出现未处理异常", HttpContext.Current.Server.GetLastError());
  Response.Redirect("~/demo.html");//其中demo页面在根目录
}
上一篇:使用xp光盘修复系统的方法步骤


下一篇:javaWeb项目配置自定义404错误页