VBS教程:VBscript语句-On Error 语句

On Error 语句

启用或禁用错误处理程序。

On Error Resume Next
On Error GoTo 0

说明


如果在您的代码中未使用 On Error Resume Next 语句, 所发生的运行时错误 将显示错误信息,同时,代码的执行也随之终止。但是具体操作由运行代码的主机决定。主机有时可有选择地处理各类错误。在有些情况下,它可以在出错的地方激活脚本调试器。而在另一些情况下, 由于主机无法通知用户,因此对所发生的错误没有明确说明。至于如何处理错误则完全取决于主机的功能。

在任意一个特殊过程中,只要在调用堆栈的地方启用错误处理程序,所发生的错误一般不会是致命性的。如果在一个过程中没有启用局部错误处理程序,当发生错误时,控制可通过堆栈调用转移,直到找到一个具有错误处理程序的过程,并在出错的地方处理错误。如果在调用堆栈的过程中没有找到错误处理程序,则在出错的地方显示错误信息,同时终止代码执行,或者通过主机来正确处理错误。

On Error Resume Next 会使程序按照产生错误的语句之后的语句继续执行,或是按照最近一次所调用的过程(该过程含有 On Error Resume Next 语句)中的语句继续运行。这个语句可以不顾运行时错误,继续执行程序,之后您可以在过程内部建立错误处理例程。在调用另一个过程时,On Error Resume Next 语句变为非活动的。所以,如果希望在例程中进行内部错误处理,则应在每一个调用的例程中执行 On Error Resume Next 语句。

当调用另一过程时,禁止使用On Error Resume Next 语句,因此如果您想在例程中嵌入错误处理程序,则需要在每次调用例程时都应执行 On Error Resume Next 语句。当退出一个过程时,错误处理程序可恢复到它在进入所退出过程之前的状态。

如果您已启用 On Error Resume Next 错误处理程序,则可使用 On Error GoTo 0禁用错误处理程序。

下面例子举例说明如何使用 On Error Resume Next 语句:

On Error Resume NextErr.Raise 6  '产生溢出错误。MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)Err.Clear    '清除错误。

(0)

相关推荐

  • VBScript中On Error语句用法小结

    如果不使用 On Error 语句,则任何运行时错误都是致命的:也就是说,结果会导致显示错误信息并中止运行.一个"允许的"错误处理程序是由 On Error 语句打开的一个处理程序:一个"活动的"错误处理程序是处理错误的过程中允许的错误处理程序. On Error GoTo 0 表示禁止当前过程中任何已启动的错误处理程序. On Error Resume Next 说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行.访问对象时要使用这

  • vbScript on error resume next容错使用心得

    vbscript中,错误处理使用on error resume next来完成,如果在你的代码里加入这一句,在这句之后的其他代码如果出现错误,系统将忽略这些错误继续运行后面的代码,同时,我们可以使用下面的代码来捕获错误 复制代码 代码如下: If err.number<>0 then errNum = Err.Number errDesc = Err.Description Call G00B02logOut("Error.002", errNum ,errDesc ) E

  • VBS教程:VBscript语句-On Error 语句

    On Error 语句启用或禁用错误处理程序. On Error Resume NextOn Error GoTo 0 说明如果在您的代码中未使用 On Error Resume Next 语句, 所发生的运行时错误 将显示错误信息,同时,代码的执行也随之终止.但是具体操作由运行代码的主机决定.主机有时可有选择地处理各类错误.在有些情况下,它可以在出错的地方激活脚本调试器.而在另一些情况下, 由于主机无法通知用户,因此对所发生的错误没有明确说明.至于如何处理错误则完全取决于主机的功能. 在任意一

  • VBS教程:VBscript语句-功能介绍

    VBScript 语句描述语言元素将控制权交给一个 Sub 或 Function 过程.Call 语句声明一个类的名称.Class 语句声明用于替换文字值的常数.Const 语句声明变量并分配存储空间.Dim 语句当某个条件为 True 时或在某个条件变为 True 之前重复执行一个语句块.Do...Loop 语句重新初始化固定大小的数组的元素和释放动态数组的存储空间.Erase 语句执行一条或多条指定语句.Execute 语句在一个脚本的全局命名空间中执行一条或多条语句.ExecuteGlob

  • VBS教程:VBScript 基础-使用循环语句

    使用循环语句循环用于重复执行一组语句.循环可分为三类:一类在条件变为 False 之前重复执行语句,一类在条件变为 True 之前重复执行语句,另一类按照指定的次数重复执行语句. 在 VBScript 中可使用下列循环语句: Do...Loop: 当(或直到)条件为 True 时循环. While...Wend: 当条件为 True 时循环. For...Next: 指定循环次数,使用计数器重复运行语句. For Each...Next:对于集合中的每项或数组中的每个元素,重复执行一组语句.(

  • VBS教程:VBscript语句-Function 语句

    Function 语句声明 Function 过程的名称.参数以及构成其主体的代码.  [Public [Default]| Private] Function name [(  arglist)][statements][name = expression][Exit Function] [statements][name = expression]End Function 参数Public 表示 Function 过程可被所有脚本中的所有其他过程访问. Default 只与 Class 块中

  • VBS教程:VBScript 基础-使用条件语句

    使用条件语句控制程序执行使用条件语句和循环语句可以控制脚本的流程.使用条件语句可以编写进行判断和重复操作的 VBScript 代码.在 VBScript 中可使用以下条件语句: If...Then...Else 语句 Select Case 语句使用 If...Then...Else 进行判断If...Then...Else 语句用于计算条件是否为 True 或 False,并且根据计算结果指定要运行的语句.通常,条件是使用比较运算符对值或变量进行比较的表达式.有关比较运算符的详细信息,请参阅比

  • VBS教程:VBscript语句-For...Next 语句

    For...Next 语句以指定次数重复执行一组语句. For counter = start To end [Step step][statements][Exit For][statements]Next 参数counter 用做循环计数器的数值变量.这个变量不能是数组元素或用户自定义类型的元素. start counter 的初值. end counter 的终值. step counter 的步长.如果没有指定,则 step 的默认值为 1. statements For 和 Next

  • VBS教程:VBScript 语句-Sub 语句

    Sub 语句声明 Sub 过程的名称.参数以及构成其主体的代码.  [Public [Default]| Private] Sub name [(  arglist)] [statements][Exit Sub][statements]End Sub 参数Public 表示 Sub 过程可被所有脚本中的所有其他过程访问. Default 只与 类块中的Public 关键字连用,用来表示 Sub 过程是类的默认方法. 如果在类中指定了不止一个Default过程,就会出错. Private 表示

  • VBS教程:VBscript语句-Exit 语句

    Exit 语句退出 Do...Loop.For...Next.Function 或 Sub 代码块. Exit Do Exit For Exit Function Exit Property Exit Sub Exit 语句的语法有以下几种形式: 语句描述Exit Do提供一种退出 Do...Loop 语句的方法.只能在 Do...Loop 语句中使用.Exit Do 将控制权转移到 Loop 语句之后的语句.在嵌套的 Do...Loop 语句中使用时,Exit Do 将控制权转移到循环所在位置

  • VBS教程:VBscript语句-For Each...Next 语句

    For Each...Next 语句对数组或集合中的每个元素重复执行一组语句. For Each element In group[statements][Exit For][statements]Next [element] 参数element 用来枚举集合或数组中所有元素的变量.对于集合,element 可能是 Variant 变量.通用 Object 变量或任意指定的 Automation 对象变量.对于数组,element 只能是 Variant 变量. group 对象集合或数组的名称

随机推荐