Global.ascx页面使用以下方法即可捕获应用层没有try cath的错误
protected void Application_Error(Object sender, EventArgs e)
{ //在出现未处理的错误时运行的代码 Exception ex = Server.GetLastError(); Exception exp = ex.GetBaseException(); if (exp.GetType().Name.Equals("HttpException")) {//排除404页面 if (404 == ((HttpException)exp).GetHttpCode()) { return; } } StringBuilder sbReqParams = new StringBuilder(); sbReqParams.Append("\r\nUser-Agent:" + HttpUtility.UrlDecode(this.Request.UserAgent)); sbReqParams.Append("\r\nForm:"+ HttpUtility.UrlDecode(this.Request.Form.ToString())); sbReqParams.Append("\r\nCookies:"+ HttpUtility.UrlDecode(this.Request.Form.ToString())); LogHelper.WriteLog(string.Format("应用程序出错:\r\n错误页面:{0}\r\n请求参数:{1}\r\n", this.Request.Url, sbReqParams.ToString()), ex); Server.ClearError(); }