Asp.net未处理异常的2种解决方式(个人总结篇)
Asp.net中引发未处理的异常时,我们怎么处理。我总结了2种方法:
1 . override 类 TemplateControl 受保护的方法 OnError
直接在文件Global.asax中编写错误逻辑代码
这是用得最多的方法之一
Exception.Message 虚属性可以得到异常原因的错误信息
Exception.StackTrace虚属性可以得到一个字符串,它描述调用堆栈的内容,其中首先显示最近的方法调用
1 . override 类 TemplateControl 受保护的方法 OnError
由于TemplateControl是抽象的,所以我们要从它派生的来编写方法
我通常是在一个页面基类public class PageBase : System.Web.UI.Page编写方法
再让所有的ASP。NET来继承类PageBase
注:System.Web.UI.TemplateControl类是System.Web.UI.Page和ystem.Web.UI.UserControl的父类
protected override void OnError(EventArgs e)
{
//写日志或写入错误信息表中
}
2.在HttpApplication.Error 事件中处理
直接在文件Global.asax中编写错误逻辑代码
这是用得最多的方法之一
备注一些常用异常方法说明:
引发的异常可以通过对HttpServerUtility.GetLastError方法的调用来访问
Exception.Message 虚属性可以得到异常原因的错误信息
Exception.StackTrace虚属性可以得到一个字符串,它描述调用堆栈的内容,其中首先显示最近的方法调用