我有應該嵌套錯誤檢查的VBA代碼,但它沒有。代碼如下所示。但是,每當在錯誤中發生錯誤時(例如,錯誤在循環中跳閘,就會發生SmallError,並且在SmallError中發生錯誤)不使用第二個GoTo。該錯誤然後打破了代碼。VBA嵌套錯誤轉到
例:
錯誤循環
轉到SmallError
錯誤SmallError
碼的持續性(這裏的代碼應該轉到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子分區致命錯誤。 – steventnorris 2013-04-04 13:51:33
@steventnorris查看編輯的代碼 – GTG 2013-04-04 14:15:56