ABAP - Schlüsselwortdokumentation →  ABAP - Referenz →  Programmablaufsteuerung →  Ausnahmebehandlung →  Klassenbasierte Ausnahmen →  TRY → 

RESUME

Kurzreferenz

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.

Ausnahmen

Behandelbare Ausnahmen

CX_SY_ILLEGAL_HANDLER