VB6 出错转到第 x 行或退出 Do

VB6 On Error GoTo Line x or Exit Do

我的代码中有一个 Do Until 循环,在某些情况下可能会出错。但是由于错误,我只希望代码退出 Do Until 循环并继续子例程的其余部分。

我试过使用 On Error Exit Do,但这表示

Expected GoTo or Resume

然后我尝试使用 On Error GoTo 5865,因为 5865 是循环之后需要继续执行的行,但是,这表示

Label not defined

我怎样才能做到这一点?

您在 SUB 或 FUNCTION 的顶部声明了一个错误捕获器,即:

On Error Goto ErrTrap

在这种情况下,"ErrTrap" 是一个标签,它通常位于例程的底部:

ErrTrap:

If Err.Number = ... Then
   ...
   Resume AfterError ' another label
End If

MsgBox("Error blah blah")

在 "ErrTrap:" 上方放置一个

Exit SubExit Function 相应地

并且您可以将 "AfterError:" 放置在您希望代码在处理错误后恢复的任何位置。

这是对一个复杂得多的主题的简化 - 错误处理有很多选项,包括行号捕获、继续下一个等等,但这应该足以让你得到你现在想要的东西.研究主题以获取更多信息。