VBA错误处理 您所在的位置:网站首页 海康威视7808参数 VBA错误处理

VBA错误处理

2023-08-20 09:25| 来源: 网络整理| 查看: 265

VBA错误处理  上一篇 下一篇  

有三种类型的编程错误:(1)语法错误和(b)运行时错误(三)逻辑错误。

语法错误

语法错误,也被称为解析错误,发生在VBScript解释的时候。例如,下面的一行将导致一个语法错误,因为它缺少一个右括号:

Function ErrorHanlding_Demo() dim x,y x = "Yiibai" y = Ucase(x End Function 运行时错误

在执行过程中运行时错误,也被称为异常,发生解释后。

例如,下面的行导致运行时错误,因为这里的语法是正确的,但在运行时,它试图调用乘法,这是一个不存在的功能:

Function ErrorHanlding_Demo1() Dim x,y x = 10 y = 20 z = fnadd(x,y) a = fnmultiply(x,y) End Function Function fnadd(x,y) fnadd = x+y End Function 逻辑错误

逻辑错误可能是最困难的类型的错误跟踪。这些错误不是一个语法或运行时错误的结果。相反,当犯了脚本逻辑的一个错误发生,没有得到所期望的结果。

无法抓到这些错误,因为这取决于你想要把什么样的程序执行在逻辑业务需求中。

例如,一个数字除以零或进入无限循环,写在脚本中。

Err对象

假设,如果有一个运行时错误,则执行停止通过显示错误信息。作为开发人员,如果想捕捉错误,那么可以使用Error对象。

示例

在下面的例子中,Err.Number 给出了错误号和 Err.Description 给出错误描述。

Err.Raise 6 ' Raise an overflow error. MsgBox "Error # " & CStr(Err.Number) & " " & Err.Description Err.Clear ' Clear the error. 错误处理

VBA有一个错误处理例程,也可以用于禁用一个错误处理例程。如果没有On Error语句,发生的任何运行时错误是致命的:将显示一条错误消息,并且执行突然停止。

On Error { GoTo [ line | 0 | -1 ] | Resume Next } 关键字 描述 GoTo line 可允许在需要的行参数指定的行开始的错误处理例程。指定的行必须在相同的过程中On Error语句,否则将发生编译时错误。 GoTo 0 禁用启用的错误处理当前过程中,并重置为Nothing。 GoTo -1 在当前过程中禁用启用例外,它重置为Nothing。 Resume Next 指定在运行时发生错误时,控制转到该语句立即出现错误的语句之后,并继续从该点执行 示例 Public Sub OnErrorDemo() On Error GoTo ErrorHandler ' Enable error-handling routine. Dim x, y, z As Integer x = 50 y = 0 z = x / y ' Divide by ZERO Error Raises ErrorHandler: ' Error-handling routine. Select Case Err.Number ' Evaluate error number. Case 10 ' Divide by zero error MsgBox ("You attempted to divide by zero!") Case Else MsgBox "UNKNOWN ERROR - Error# " & Err.Number & " : " & Err.Description End Select Resume Next End Sub



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有