ABAP Keyword Documentation → ABAP - Reference → Program Flow → Exception Handling → Class-Based Exceptions → TRY
RESUME
Other versions: 7.31 | 7.40 | 7.54
Syntax
RESUME.
Effect
This statement exits the CATCH handling of a
resumable exception
and resumes processing after the statement that raised the exception. This statement can only be executed
in a CATCH block of a
TRY control structure for which the BEFORE UNWIND
addition is declared. When exception handling is exited using RESUME, the context of the exception is not deleted and any CLEANUP blocks are not executed.
The following are prerequisites for resuming processing:
-
The exception was raised as a resumable exception using the
RESUMABLEaddition of theRAISE EXCEPTIONstatement. -
The exception was declared with the
RESUMABLEaddition forRAISINGin the interface of all procedures from which it was propagated (if it is not an exception derived from CX_NO_CHECK).
If these points do not apply, an exception of the class CX_SY_ILLEGAL_HANDLER is raised. To check whether
the prerequisites are met, the instance attribute IS_RESUMABLE with type abap_bool
of the current exception object can be checked. The value of the attribute is set using the addition
INTO when the statements CATCH and CLEANUP
are executed and when an exception object is reused using the statement RAISE.
Notes
- If the resumable exception was not raised by the variant RAISE RESUMABLE EXCEPTION oref, the handler can send information to the raiser of the event by assigning values to appropriate attributes of the exception object.
- Resuming processing after an exception is particularly useful if the exception was raised when a special method was called, such as a constructor or a functional method in an operand position.
-
If a
CATCHblock is not exited usingRESUMEwhen handling a resumable exception, the program does not continue in the context of the statement that raised the exception (as described in System Response After a Class-Based Exception). This context is deleted when theCATCHblock is exited, at the latest.
Exceptions
Catchable Exceptions
CX_SY_ILLEGAL_HANDLER
-
Cause: Exception cannot be resumed. The ID of the exception text is NOT_RESUMABLE
Runtime Error:UNCAUGHT_EXCEPTION