В VB6 при ошибке перейти к строке X или выход делать
У меня есть цикл Do Until
в моем коде, который в некоторых обстоятельствах может ошибаться. Однако из-за ошибки я только хочу, чтобы код вышел из цикла Do Until
и продолжил работу с остальной частью подпрограммы.
Я пробовал использовать On Error Exit Do
, но это говорит
Ожидаемый Гото или резюме
Затем я попробовал использовать On Error GoTo 5865
, так как 5865-это строка после цикла, из которой он должен продолжить выполнение, однако это говорит
Метка не определена
Как я могу чтобы это случилось?
1 ответ:
Вы объявляете ловушку ошибок в верхней части вашей СУБФУНКЦИИ или функции, т. е.:
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:" везде, где вы хотите, чтобы код возобновился после обработанной ошибки.
Это упрощение гораздо более сложной темы - есть много вариантов для ошибки обработка, включая захват номера строки, возобновление следующего и т. д. но этого должно быть достаточно, чтобы получить то, что вы хотите сейчас. Исследуйте предмет для получения дополнительной информации.