У меня есть код VBA, который должен быть вложенной проверкой ошибок, но это не так. Код psuedo, как показано ниже. Однако, всякий раз, когда возникает ошибка в ошибке (например, в цикле сработала ошибка, goto SmallError возникает, и в SmallError возникает ошибка) Второй GoTo не используется. Затем ошибка прерывает код.VBA Вложенная ошибка Ошибка GoTo
Ex:
Ошибка Loop
GoTo SmallError
Ошибка в SmallError
Код Breaks (Здесь код должен GoTo FatalError)
Sub DoThings()
On Error GoTo SmallError
'Coding Happens
Do While(conditionhere)
'Looping things happen
GoTo LoopResume
SmallError:
source = Err.source
descript = Err.Description
On Error GoTo Fatal Error
'Small error processing happens
Resume LoopResume
FatalError:
source = Err.source
descript = Err. Description
On Error GoTo ExitError
'Fatal Error processing happens
ExitError:
Exit Sub
LoopResume:
count = count + 1
Loop
On Error GoTo FatalError
'Finishing code happens
End Sub
В этом случае фатальная ошибка не будет выходить из подпакета, хотя. Он выйдет из handleError, но продолжит работу с DoThings. Мне нужен способ вернуться из DoThings sub на фатальную ошибку. – steventnorris
@steventnorris Посмотреть отредактированный код – GTG