【问题标题】:VB6 On Error GoTo Line x or Exit DoVB6 On Error GoTo Line x or Exit Do
【发布时间】:2018-01-11 15:19:26
【问题描述】:
我的代码中有一个Do Until 循环,在某些情况下可能会出错。但是由于错误,我只希望代码退出Do Until 循环并继续执行其余的子例程。
我尝试过使用On Error Exit Do,但这说明
预期转到或继续
然后我尝试使用On Error GoTo 5865,因为 5865 是循环之后需要继续执行的行,但是,这表示
标签未定义
我怎样才能做到这一点?
【问题讨论】:
标签:
error-handling
vb6
goto
【解决方案1】:
您在 SUB 或 FUNCTION 的顶部声明了一个错误捕获器,即:
On Error Goto ErrTrap
在这种情况下,“ErrTrap”是一个标签,它通常位于您例程的底部:
ErrTrap:
If Err.Number = ... Then
...
Resume AfterError ' another label
End If
MsgBox("Error blah blah")
在 "ErrTrap:" 上方放置一个
Exit Sub 或 Exit Function 相应
并且您可以将“AfterError:”放置在您希望代码在处理错误后恢复的任何位置。
这是对一个更复杂的主题的简化 - 有很多错误处理选项,包括行号捕获、继续下一步等,但这应该足以让您获得现在想要的东西。研究该主题以获取更多信息。