Page_Error 事件提供一种捕获在页级别出现的错误的方法。您可以只是显示错误信息(正如下面的示例代码所示),也可以记录事件或执行某个其他操作。
备注:此示例在浏览器中显示详细的错误信息,提供此示例只是为了进行说明。向应用程序的最终用户显示详细信息(尤其是该应用程序在 Internet 上运行时)一定要小心。更适当的做法是向用户显示一条消息,告知已发生错误,然后将具体的错误详细信息记录在事件日志中。
本示例引发一个强迫错误发生在 Page_Load 事件中的空异常。按照以下步骤可创建将测试 Page_Error 事件的初始页。
| 1. | 按照以下步骤将名为 PageEvent.aspx 的新文件添加到项目中:
|
||||||
| 2. | 将以下代码添加到 PageEvent.aspx 中:
<script language=C# runat="server"> |
||||||
| 3. | 从文件菜单中,单击保存 PageEvent.aspx。 | ||||||
| 4. | 右键单击该页,然后单击在浏览器中查看以运行该页。请注意,将按照代码规范引发和报告错误。 |
备注:您可能注意到代码发出对 Server.ClearError 的调用。这将防止错误继续到要被处理的 Application_Error 事件中。
此外,您还应记下 @ Page 指令中的 Inherits 属性。如果已经设置 Inherits,则必须首先生成项目,然后再浏览到该页。如果不首先生成项目,将看到下面的错误信息: