- 时间:2021-06-21 09:40 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:VBS教程:VBscript语句-On Error 语句
On Error 语句
启用或禁用错误处理程序。
[code][b]On Error [/b]Resume Next
[b]On Error[/b] GoTo 0[/code]
[h3]说明[/h3]如果在您的代码中未使用 [b]On Error Resume Next[/b] 语句, 所发生的运行时错误 将显示错误信息,同时,代码的执行也随之终止。但是具体操作由运行代码的主机决定。主机有时可有选择地处理各类错误。在有些情况下,它可以在出错的地方激活脚本调试器。而在另一些情况下, 由于主机无法通知用户,因此对所发生的错误没有明确说明。至于如何处理错误则完全取决于主机的功能。
在任意一个特殊过程中,只要在调用堆栈的地方启用错误处理程序,所发生的错误一般不会是致命性的。如果在一个过程中没有启用局部错误处理程序,当发生错误时,控制可通过堆栈调用转移,直到找到一个具有错误处理程序的过程,并在出错的地方处理错误。如果在调用堆栈的过程中没有找到错误处理程序,则在出错的地方显示错误信息,同时终止代码执行,或者通过主机来正确处理错误。
[b]On Error Resume Next[/b] 会使程序按照产生错误的语句之后的语句继续执行,或是按照最近一次所调用的过程(该过程含有 [b]On Error Resume Next[/b] 语句)中的语句继续运行。这个语句可以不顾运行时错误,继续执行程序,之后您可以在过程内部建立错误处理例程。在调用另一个过程时,[b]On Error Resume Next [/b]语句变为非活动的。所以,如果希望在例程中进行内部错误处理,则应在每一个调用的例程中执行 [b]On Error Resume Next[/b] 语句。
当调用另一过程时,禁止使用[b]On Error Resume Next [/b]语句,因此如果您想在例程中嵌入错误处理程序,则需要在每次调用例程时都应执行 [b]On Error Resume Next[/b] 语句。当退出一个过程时,错误处理程序可恢复到它在进入所退出过程之前的状态。
如果您已启用 On Error Resume Next 错误处理程序,则可使用 On Error GoTo 0禁用错误处理程序。
下面例子举例说明如何使用 On Error Resume Next 语句:
[code]On Error Resume NextErr.Raise 6 '[/code]产生溢出错误。[code]MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)[/code][code]Err.Clear '[/code]清除错误。