VBA-Verschachtelte On Error GoTo
Habe ich VBA-code, der werden soll, um verschachtelte Fehler überprüft, aber es funktioniert nicht. Der code ist Pseudo, wie unten beschrieben. Allerdings, wenn ein Fehler Auftritt innerhalb eines Fehlers (Zum Beispiel, wird ein Fehler ausgelöst, der in der Schleife, goto SmallError tritt ein und ein Fehler tritt in SmallError) Das zweite GoTo nicht verwendet. Den Fehler dann bricht der code.
Ex:
Fehler in der Schleife, die
Springen SmallError
Fehler in SmallError
Code-Breaks (Hier code sollte 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
InformationsquelleAutor steventnorris | 2013-04-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht verwenden Sie eine On Error-Anweisung innerhalb einer Fehlerbehandlungsroutine. Siehe z.B. dieser Artikel erklärt, dass diese.
Was Sie tun KÖNNEN, ist jedoch eine eigene routine, die Handgriffe bei den "normalen Fehler". Diese routine kann ein "fatal error" - handler. Dein code würde dann wie folgt Aussehen:
(Edit: Bearbeitet den code zu aktivieren beenden, wenn es ist ein fataler Fehler):
Siehe code bearbeitet
InformationsquelleAutor GTG
... Sie haben
Fatal Error
in IhremGoto
eher alsFatalError
, dass gewann ' T erhalten Sie an die richtige Stelle...Aktualisieren Sie den code, um:
InformationsquelleAutor John Bustos