Anwendungsgebiet: PROCEDURE
Kommandobeschreibung
IF-BLOCK-ERROR leitet eine Kommandofolge ein, die in folgenden Fällen durchlaufen wird:
Im aktuellen Block ist ein Fehler aufgetreten.
In einem Block, der in den aktuellen Block geschachtelt ist, ist ein Fehler aufgetreten, der vor dem Verlassen dieses eingeschlossenen Blocks nicht abgefangen wurde.
Im IF-BLOCK-ERROR-Block kann mit dem Kommando ELSE ein ELSE-Zweig definiert werden. Abgeschlossen wird der IF-BLOCK-ERROR-Block mit dem Kommando END-IF.
Wird das Kommando IF-BLOCK-ERROR aufgerufen, obwohl kein Fehler auftrat, wird der ELSE-Zweig durchlaufen - wenn vorhanden - oder die Kommandoausführung nach dem zugehörigen END-IF-Kommando fortgesetzt. Wenn der Kommando-Returncode im Nichtfehlerfall, im ELSE-Zweig oder nach dem END-IF-Kommando ausgewertet werden soll, ist ein SAVE-RETURNCODE-Kommando vor dem IF-BLOCK-ERROR-Kommando erforderlich.
Format
IF-BLOCK-ERROR |
Kommando-Returncode
(SC2) | SC1 | Maincode | Bedeutung |
0 | CMD0001 | Ohne Fehler | |
1 | CMD0202 | Syntaxfehler | |
1 | SDP0118 | Kommando im falschen Kontext | |
1 | SDP0223 | Falsche Umgebung | |
3 | CMD2203 | Falsche Syntaxdatei | |
32 | CMD0221 | Systemfehler (interner Fehler) | |
130 | SDP0099 | Kein Adressraum mehr verfügbar |
Beispiel
/BL1: BEGIN-BLOCK /... / BL2: BEGIN-BLOCK / ... / "Hier tritt Fehler1 auf" / ... / END-BLOCK BLOCK = BL2 /... /"Hier tritt Fehler2 auf" /... /IF-BLOCK-ERROR ... "Hier wird der Fehler abgefangen" /... /END-IF /END-BLOCK BLOCK = BL1
Der Block BL2 ist in den Block BL1 geschachtelt. Im Block BL2 erfolgt keine Fehlerbehandlung. Fehler, die im BLock BL2 auftreten, werden im IF-BLOCK-ERROR-Block von Block BL1 abgefangen, genauso wie Fehler, die im Block BL1 auftreten.