统一显示并记录错误信息 500

前提:

当程序运行过程中,出现预期外的异常时,进行统一显示并记录错误信息


实现过程


配置webconfig

 <customErrors mode="On" defaultRedirect="Error/Error.aspx" redirectMode="ResponseRewrite">
      <error statusCode="403" redirect="Error/403.html"/><!-- 拒绝访问,没有权限-->
      <error statusCode="404" redirect="Error/404.html"/><!-- 网页不存在-->
      <error statusCode="500" redirect="Error/Error.aspx"/><!-- 引用程序内部错误-->
 </customErrors>

Error后台代码

public partial class Error : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Exception ex = this.Context.Server.GetLastError();
            if (ex != null)
            {
                _ErrorDetails.InnerHtml = "<pre>" + ex.ToString() + "</pre>";
                Server.ClearError();
            }
            else
            {
                _ErrorDetails.InnerText = "无错";
            }
        }
    }


注意事项:

Server.GetLastError() 此方法仅在 ASP 文件发送任何内容到浏览器之前可用。
WebConfig的RedirectMode值设置为ResponseRewrite (在服务端转发,这样上面的方法才可以生效)

阅读更多
换一批

没有更多推荐了,返回首页