vb6 – 你为什么要使用“On Error Goto 0”?

你为什么要在VB6应用程序中使用“On Error Goto 0”?

此语句将关闭错误处理程序,并表示任何错误都会导致应用程序崩溃。为什么这会是可取的?

在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”,您并不是说您希望应用程序立即崩溃。您只是说要取消注册您可能在例程中先前设置的任何错误处理程序;错误将在调用堆栈中传递给调用例程,就像正常情况一样。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...