asp.net中如何捕获程序错误并将错误原因在页面上显示出来。

asp.net中如何捕获程序错误并将错误原因在页面上显示出来。,第1张

ASP.NET允许应用程序出错时显示用户指定的页面,方法是在web.config文件中修改配置信息。

<? xml version="1.0" encoding="UTF-8" ?>

<configuration>

<system.web>

<customErrors mode="On" defaultRedirect="ErrorPage.htm" />

</system.web>

</configuration>

上面的配置信息明确指定了当应用程序出错的时候显示用户定制的页面ErrorPage.htm。并且因为各个应用程序有自己独立的web.config配置文件,所以应用程序之间不会互相干扰。

其中,mode属性表示是否启用定制的用户页面,它可取三个值,如下所示:

On 启用定制的出错页面

Off 禁用定制的出错页面

RemoteOnly 启用定制的出错页面但仅展示给远程用户

defaultRedirect属性表示用户定制出错页面的文件名。

<!-- 自定义错误信息

设置customError 模式值可以控制应向

用户显示用户友好错误信息而不是错误详细信息(包括堆栈跟踪信息):

“On”始终显示自定义(友好的)信息

“Off”始终显示详细的 ASP.NET 错误信息。

“RemoteOnly”只对不在本地 Web 服务器上运行的

用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便

不向远程客户端显示应用程序的详细信息。

-->注释中说明!

默认下是<customErrors mode="RemoteOnly" />只针对远程用户

后始终显示自定义的页面,而不显示程序的详细信息!

1.捕获错误,并强制程序跳转2.编写错误处理程序

3.退出错误处理程序更加详细的是:1.捕获错误,并强制程序跳转

即在发生错误时,捕获错误将告知应用程序转向哪段代码进行错误处理。VB语句通常可采用On Error GoTo 语句启用错误捕获机制。如果出现运行时错误,即可借助On Error GoTo 语句,强制程序跳转到指定的标记处。需要注意的是, On Error GoTo 语句只能在一个过程内部跳转,并且在一个过程中一次只能启用一个错误捕获。如果要使错误捕获失效,因可使用On Error GoTo 0 之类的语句。

 2.编写错误处理程序

编写错误处理程序的第一步是添加一个行标识符,比如“CheckError”,以标志错误处理程序的开始。行标识符的名称最好具有良好的可读性,并且后面必须紧跟一个冒号。常规错误处理程序通常放在过程的结束处,后面紧跟Exit或Exit Function的行标识符。这样在没有错误发生时,过程就不会执行错误处理程序了。

通常的格式为:

Sub 程序名( )

On Error GoTo 行标识符

[正常的程序代码]

Exit Sub ’ 正常退出程序

行标识符:

错误处理程序

End Sub

 3.退出错误处理程序

通常情况下,只有当错误处理程序位于过程中间位置时,才需要用到专门的错误处理程序退出语句。一般可以用Resume或Resume Next语句退出错误处理程序。Resume语句会继续执行引发错误的那句代码,而Resume Next语句则会跳过该语句,执行引发错误代码的下一句语句。

9.3.3 Err对象

Err对象是个运行期对象,它包含了有关最新错误的信息。当运行中遇到了一个错误时,或者当用户使用Err对象的Raise方法故意引发一个错误时,它形成了Error对象的属性。当遇到On Error语句时,或使用Exit Sub,Exit Function语句退出一个过程后,Err对象的属性值将被清除。若要强制清除Err对象的属性可以调用它的Clear方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11760396.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存