SAP NetWeaver AS ABAP Release 751, ©Copyright 2017 SAP AG. Alle Rechte vorbehalten.
ABAP - Schlüsselwortdokumentation → ABAP - Referenz → Programmablaufsteuerung → Ausnahmebehandlung → Klassenbasierte Ausnahmen → TRY →
RESUME
Syntax
RESUME.
Wirkung
Diese Anweisung verlässt eine mit CATCH eingeleitete Behandlung einer wiederaufsetzbaren Ausnahme und setzt die Verarbeitung hinter der Anweisung fort, welche die Ausnahme ausgelöst hat. Diese Anweisung darf nur in einem CATCH-Block einer TRY-Kontrollstruktur aufgeführt werden, bei dem der Zusatz BEFORE UNWIND angegeben ist. Beim Verlassen der Ausnahmebehandlung mit RESUME wir der Kontext der Ausnahme nicht gelöscht und eventuelle CLEANUP-Blöcke werden nicht ausgeführt.
Voraussetzung für das Wiederaufsetzen ist,
Andernfalls kommt es zu einer Ausnahme der Klasse CX_SY_ILLEGAL_HANDLER. Um zu überprüfen,
dass die Voraussetzung erfüllt ist, kann das Instanzattribut IS_RESUMABLE vom Typ abap_bool
des aktuellen Ausnahmeobjekts überprüft werden. Der Wert des Attributs wird bei Ausführung
der Anweisungen CATCH und CLEANUP mit dem Zusatz
INTO und bei der Wiederverwendung eines Ausnahmeobjekts mit der Anweisung RAISE gesetzt.
Hinweise
Beispiel
Verwendung der Anweisung RESUME während der Behandlung einer wiederaufsetzbaren Ausnahme cx_demo.
CLASS cx_demo DEFINITION INHERITING FROM cx_static_check.
ENDCLASS.
CLASS cls DEFINITION.
PUBLIC SECTION.
CLASS-METHODS meth RAISING RESUMABLE(cx_demo).
ENDCLASS.
CLASS cls IMPLEMENTATION.
METHOD meth.
...
RAISE RESUMABLE EXCEPTION TYPE cx_demo.
cl_demo_output=>display( 'Resumed ...' ).
...
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
TRY.
cls=>meth( ).
CATCH BEFORE UNWIND cx_demo.
RESUME.
ENDTRY.
Behandelbare Ausnahmen
CX_SY_ILLEGAL_HANDLER