VBA异常处理 Resume Next
为什么需要Resume Next?
先看下面的代码
Sub sub2()
On Error GoTo handle1
a = 4 / 0
Debug.Print "继续1"
Exit Sub
handle1:
Debug.Print "除数不能为0"
Debug.Print "继续2"
End Sub
会输出:
除数不能为0
继续2
现在假设有需求,异常处理完成后,回到出错语句的下一句代码执行。即希望执行完
Debug.Print "除数不能为0"
之后,跳转到
Debug.Print "继续1"
继续执行。
这种需求可以通过在处理代码中加上Reusme Next实现。
语法
标签:
Resume Next
示例
Sub sub4()
On Error GoTo handle1
a = 4 / 0
Debug.Print "继续1"
Exit Sub
handle1:
Debug.Print "除数不能为0"
Resume Next '表示继续回到原位置继续执行
End Sub
这里的Resume Next是放在标签: 之后。
输出结果:
除数不能为0
继续1