捕获异常
答
您可以捕获Global.asax页面/类中未处理的所有异常。 看:
protected void Application_Error(Object sender, EventArgs e)
方法。
答
添加一个global.asax实现Application_Error处理程序。使用Server.GetLastError()函数获取抛出异常的句柄。
答
不幸的是,一个未处理的异常总是会使您的网站出错。 YOu可以通过几种方法防止这种情况。
- 使用部分在你的web.config显示一个用户友好的消息
- 在你的Global.asax - 或者自定义的处理器 - 抓住你的未处理的异常,并作出相应的反应 - like this
最佳解决方案
- 确保您的控件不会抛出未处理的异常!
答
使用global.asax Application_Error方法,如How to create custom error reporting pages in ASP.NET by using Visual C# .NET中所述。
另一种方法是使用HTTP module;这给了你更多的灵活性(例如,你可以处理来自多个应用程序的错误)。
答
你想抓住异常并处理它吗?
或者你想阻止黄色死亡屏幕?如果您试图阻止黄色死亡屏幕,请参阅处理HttpApplication
(换句话说,您的Global.asax)中的Error
事件。
有关详细信息,请参见下面的MSDN页: http://msdn.microsoft.com/en-us/library/system.web.httpapplication.error.aspx
特别是这一段:
引发此错误事件可以通过向GetLastError函数方法的调用进行访问的异常。如果您的应用程序生成自定义错误输出,请通过调用ClearError方法来抑制ASP.NET生成的默认错误消息。
这将只是捕捉错误,它不会阻止它发生。除非您在该方法内采取纠正措施 – WebDude 2008-09-26 07:45:39