Global.cs中自动获取未处理的异常

在一个项目中为了能捕获异常最常用的方法就是try{}catch{}了,但是事实上并不可能将所有的异常考虑到位。因此有人就想除了被try{}catch{}捕获的异常其余未被处理的异常均由全局应用程序也就是Global来捕获处理。下面就是简单的事例:

1)引起异常的代码

protected void Button1_Click(object sender, EventArgs e)
{
int a = 5;
int b = 2;
int c;
c = a / (b - 2);
}

2)Global.cs中的代码

 protected void Application_Error(object sender, EventArgs e)
{
//获取异常信息
string strError = Server.GetLastError().ToString();
//可以将错误信息通过log4net写入到文本或数库中,这里只写在页面上

Response.Write("错误信息:" + strError + "");
Server.ClearError();
}

通过上面的做法本人写了个Demo在F5调试的时个有时会在页上输出错误信息有时会先在异常的地方停止运行但再按下F5错误信息就出现了。在IE、FF、Chrome都一样的问题,有可能是浏览器缓存问题。之后自己将Demo发布后再浏览就一切正常。

原文地址:https://www.cnblogs.com/zgshi/p/2296034.html