OnError Ignore|End|Fail|Skipto|ResumeHere <label> OnError steuert die Verarbeitung im Falle eines Fehlers bei der Befehlsausführung. Jeder OnError Befehl ändert die Fehlerbehandlung bis zum Auftauchen eines weiteren OnError Befehls.
OnError Ignore ignoriert alle Fehlercodes und verarbeitet die folgenden Befehle unabhängig davon, ob vorher ein Fehler aufgetreten ist. Vorzugsweise sollten Sie statt OnError ignore ein Minuszeichen vor Befehle schreiben, bei denen Sie u.U. Fehler erwarten (z.B. -LocalDelete "abc.tmp", siehe Programm- und Befehlsaufbau)
OnError End überspringt alle folgenden Befehle mit Ausnahme von Milestone. Befehlen (die dann jeweils den auslösenden Fehlercode protokollieren).
OnError Fail terminiert das Skript sofort (folgende :Milestone. Befehle werden nicht verarbeitet).
OnError SkipTo <label> überspringt alle folgenden Befehle bis zum Auftauchen von :<label> und führt ab dort die Verarbeitung weiter. :<label> darf auch mehrfach im Programm auftauchen. Der Ansprungspunkt <label> darf nur Buchstaben, Ziffern und den Unterstreichungsstrich enthalten.
OnError ResumeHere <RetryCount> <Delay> unternimmt im Fehlerfall nach einer Pause von <Delay> Sekunden ab der Stelle wo der OnError Befehl steht<RetryCount> neue Versuche. Wenn nach dem letzten Versuch immer noch ein Fehler auftaucht, wird dieser auf Basis der vorherigen OnError Einstellung verarbeitet (die üblicherweise ein SkipTo oder Fail ist) (sihe Beispiel 2).
Siehe auch: Error, Transaction, SendMail, Script Beispiel
Beispiel 1:
OnError SkipTo "Fehler"
Connect ...
Get ...
Disconnect
exit
:Fehler
sendmail ...
exit
Beispiel 2:
# Diese Verbindung 3x probieren, sonst weiter
OnError SkipTo "Naeachste"
OnError ResumeHere 3 10
Connect ...
Get ...
Disconnect
:Naeachste
OnError SkipTo "Ende"
OnError ResumeHere 3 10
Connect ...
...
:Ende
exit
← Zurück zu Skript-Befehle