如何:处理页级别错误

更新:2007 年 11 月

如果可能,则应该在代码中的 Try/Catch 块中处理错误,因为在出现问题的地方更易于更正问题。如果用户可以帮助更正问题,则页需要返回同一位置,以便用户在上下文中了解如何执行操作。

页级别的处理程序可以让您返回页,但该页上不再有任何内容,因为没有创建控件的实例。若要为用户提供信息,必须将该信息明确写入页。

您可能需要使用页级别错误处理程序来记录未处理的错误,或者使用户进入可以显示有用信息的页。

该代码示例演示 ASP.NET 网页中的 Error 事件的处理程序。此处理程序捕捉页中的 Try/Catch 块中尚未处理的所有异常。

在处理一个错误后,必须通过调用 Server 对象(HttpServerUtility 类)的 ClearError 方法将该错误清除。

示例

此处理程序筛选特定种类的异常。对于 ArgumentOutOfRangeException 异常,处理程序将在页上写入一些文本、提供返回页的链接、记录错误并修改系统管理员。对于 InvalidOperationException 异常,处理程序直接将异常转发到一般性错误页。对于其他任何种类的异常,处理程序不执行任何操作,允许站点自动重定向到 Web.config 文件中指定的一般页。您自己的代码将筛选对应用程序重要的异常。

下面的示例摘自错误处理程序的完整示例中的一个完整代码示例

安全性

使用 <customErrors> 元素 将详细的错误消息限制为仅向本地用户显示。

务必不要显示可能帮助恶意用户危害您的应用程序的错误信息。有关详细信息,请参见如何:显示安全错误信息

请参见

任务

如何:处理应用程序级别的错误

概念

错误处理程序的完整示例