在我们开发web应用程序,经常需要写什么try..catch..什么的很繁琐,尤其是在维护已有程序的时候在查找错误原因是很麻烦的。今天在这里介绍一个错误处理机制。如果你的程序涉及到非托管资源建议用try..catch..,在catch中先释放非托管资源然后再throw该异常。我们吧程序的异常放到 Application_Error事件中统一处理。
例如:
protected void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
Server.ClearError();
ExceptionManager.HandleError(ex, ex.TargetSite.Name, string.Empty);
int cout = 0;
DataTable dt = ExceptionManager.GetExceptionLog(1, int.MaxValue, out cout);
string entrynumber = dt.Rows[0]["EntryNumber"].ToString();
Server.Transfer("ExceptionLogEntry.aspx?EntryNumber=" + entrynumber);
}
这个是我的处理方式,你也可以有自己的处理方式
关于web的错误处理机制大家可以参考http://blog.csdn.net/dz45693/archive/2010/04/30/5545054.aspx
运行结果如图