ASP.NET Global捕获异常

#region 捕获异常
        /// 
        /// 出错处理:写日志,导航到公共出错页面
        /// 
        /// 
        /// 
        protected void Application_Error(object sender, EventArgs e)
        {
            if (Server.GetLastError() == null) return;
            Exception ex = Server.GetLastError().GetBaseException();
            string error = this.DealException(ex);
            LogHelper.LogInfo(error);
            if (ex.InnerException != null)
            {
                error = this.DealException(ex);
                LogHelper.LogInfo("异常捕获时间:" + DateTime.Now.ToString() + "\n" + error);
            }
            this.Server.ClearError();
            this.Response.Redirect("UserLogin2.aspx");
        }
        /// 
        /// 处理异常,用来将主要异常信息写入文本日志
        /// 
        /// 
        /// 
        private string DealException(Exception ex)
        {
            this.Application["StackTrace"] = ex.StackTrace;
            this.Application["MessageError"] = ex.Message;
            this.Application["SourceError"] = ex.Source;
            this.Application["TargetSite"] = ex.TargetSite.ToString();
            string error = string.Format("URl:{0}\n引发异常的方法:{1}\n错误信息:{2}\n错误堆栈:{3}\n",
              this.Request.RawUrl, ex.TargetSite, ex.Message, ex.StackTrace);
            return error;
        }
        #endregion

 

你可能感兴趣的:(Asp.Net)