VBScript - 错误处理



编程中存在三种类型的错误:(a)语法错误,(b)运行时错误,以及(c)逻辑错误。

语法错误

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

<script type = "text/vbscript">

   dim x,y
   x = "Tutorialspoint"
   y = Ucase(x

</script>

运行时错误

运行时错误,也称为异常,发生在执行期间,解释之后。例如,以下行会导致运行时错误,因为这里的语法是正确的,但在运行时它试图调用 fnmultiply,这是一个不存在的函数:

<script type = "text/vbscript">
   Dim x,y
   x = 10
   y = 20
   z = fnadd(x,y)
   a = fnmultiply(x,y)
   
   Function fnadd(x,y)
      fnadd = x+y
   End Function

</script>

逻辑错误

逻辑错误可能是最难追踪的错误类型。这些错误不是语法或运行时错误的结果。相反,当您在驱动脚本的逻辑中犯错并且没有得到预期的结果时,就会发生这些错误。您无法捕获这些错误,因为根据您的业务需求,您希望在程序中使用哪种逻辑。例如,将数字除以零或编写一个进入无限循环的脚本。

Err 对象

假设如果我们遇到运行时错误,则执行将停止并显示错误消息。作为开发人员,如果我们想要捕获错误,则使用Error 对象。

示例

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

<script type = "text/vbscript">
  
  Err.Raise 6     ' Raise an overflow error.
  MsgBox "Error # " & CStr(Err.Number) & " " & Err.Description
  Err.Clear       ' Clear the error.

</script>
广告