C#全局错误捕捉

  protected void Application_Error(Object sender, EventArgs e)
        {
            Exception lastError = Server.GetLastError();
            if (lastError != null)
            {
                //异常信息
                string strExceptionMessage = string.Empty;
                try
                {
                    string url = Request.Url.OriginalString;
                    string[] ignorFiles = { ".css", ".js", ".jpg", ".jpeg", ".png", ".rar", ".exe", ".bmp", ".png", ".doc", ".docx", ".xml", ".xsd", ".xls", ".xlsx", ".ppt", ".pptx" };
                    //如果是忽略文件,不写入访问日志
                    if (ignorFiles.Any(m => url.EndsWith(m, StringComparison.OrdinalIgnoreCase)))
                    {
                        return;
                    }
                }
                catch { }
                //对HTTP 404做额外处理,其他错误全部当成500服务器错误
                HttpException httpError = lastError as HttpException;
                //if (httpError != null)
                //{
                //    //获取错误代码
                //    int httpCode = httpError.GetHttpCode();
                //    strExceptionMessage = httpError.Message;
                //    if (httpCode == 400 || httpCode == 404)
                //    {
                //        Response.StatusCode = 404;
                //        Server.ClearError();
                //        //Response.Redirect("~/Web/Error?title=" + Server.UrlEncode("404") + "&desc=" + Server.UrlEncode("请求的资源不存在!"));
                //        Response.Redirect("~/Base/Error?note=无效的URL路径!");
                //        return;
                //    }
                //}

                strExceptionMessage = lastError.Message;

                /*-----------------------------------------------------
                 * 此处代码可根据需求进行日志记录,或者处理其他业务流程
                 * ---------------------------------------------------*/

                /*
                 * 跳转到指定的http 500错误信息页面
                 * 跳转到静态页面一定要用Response.WriteFile方法                 
          

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值