VBA异常处理 On Error GoTo 0

当我们遇到异常后,开始希望进行相应处理,执行到后面又需要取消前面的异常处理,即禁用异常处理,可以通过On Error GoTo 0来实现。即:第一句代码需要进行异常处理,第二句代码不需要进行异常处理,也就是在第二句代码的位置取消(禁用)异常处理。


示例

Sub sub6()
  On Error GoTo handle1
  a = 4 / 2			'这一句需要进行异常处理
  '后面的代码出现错误后,不再跳转到handle标签
  On Error GoTo 0
  b = 5 / 0			'这一句不需要进行异常处理
  Debug.Print "继续"
  Exit Sub
handle1:
  Debug.Print "除数不能为0"
End Sub


运行结果:

弹框报错:除数不能为0。

说明GoTo 0这句成功取消了前面的GoTo handle1。

此例仅用于说明GoTo 0的作用,正常逻辑下不会这么写代码。