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