你为什么要使用 "On Error Goto 0"
在 VB6 应用程序中?
此语句关闭错误处理程序,这意味着任何错误都会使应用程序崩溃。为什么这会是可取的?
最佳答案
在 VB6 中,您可以指定您希望在例程稍后由特定代码处理错误:
Sub Bar()
On Error Goto MyHandler
...
...some code that throws an error...
...
Exit Sub
MyHandler:
...some error handler code (maybe pops up a dialog)
End Sub
然而,抛出错误的代码可能是本地化的,并且您不希望例程中的所有其余代码都使用相同的处理程序。在这种情况下,您可以使用“On Error Goto 0”,如下所示:
Sub Bar()
...
On Error Goto MyHandler
...some code that throws an error...
On Error Goto 0
...
...
Exit Sub
MyHandler:
...some error handler code (maybe pops up a dialog)
End Sub
现在,您已经有效地将错误处理范围限定为仅在该特定代码行失败时才执行。
通过调用“On Error Goto 0”,您并不是说您希望应用程序立即崩溃。您只是说要取消注册您可能在例程中较早设置的任何错误处理程序;错误将像往常一样通过调用堆栈向上传递到调用例程。
关于vb6 - 你为什么要使用 "On Error Goto 0"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9983464/