Global.cs中自动获取未处理的异常
2011-12-21 16:45 柿子贵 阅读(568) 评论(0) 编辑 收藏 举报在一个项目中为了能捕获异常最常用的方法就是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发布后再浏览就一切正常。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步