谁能找到 VBA 中“On error goto -1”和“on error goto 0”之间的区别吗?我尝试过 google 和 msdn,但没有成功。
On Error GoTo 0
禁用过程中当前存在的任何错误捕获。
On Error GoTo -1
清除错误处理并将其设置为空,这允许您创建另一个错误陷阱。
示例:出错时转到 -1
出现第一个错误后,它将GoTo ErrorFound
然后,这将清除例程的错误处理并设置一个新的错误处理,这将GoTo AnotherErrorFound
当发现错误时。
Sub OnErrorGotoMinusOneTest()
On Error GoTo ErrorFound
Err.Raise Number:=9999, Description:="Forced Error"
Exit Sub
ErrorFound:
On Error GoTo -1 'Clear the current error handling
On Error GoTo AnotherErrorFound 'Set a new one
Err.Raise Number:=10000, Description:="Another Forced Error"
AnotherErrorFound:
'Code here
End Sub
示例:出错时转到 0
引发第一个错误后,您将收到该错误,因为错误处理已被禁用。
Sub OnErrorGotoZeroTest()
On Error GoTo 0
Err.Raise Number:=9999, Description:="Forced Error"
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)