Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

IF-BLOCK-ERROR Block-Fehlerbehandlung einleiten

&pagelevel(4)&pagelevel

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)SC1MaincodeBedeutung

0CMD0001Ohne Fehler

1CMD0202Syntaxfehler

1SDP0118Kommando im falschen Kontext

1SDP0223Falsche Umgebung

3CMD2203Falsche Syntaxdatei

32CMD0221Systemfehler (interner Fehler)

130SDP0099Kein 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.