SAP® Documentation

Single view

ABAPTRY - TRY

PERFORM Short Reference   CL_GUI_FRONTEND_SERVICES - Frontend Services  
This documentation is copyright by SAP AG.
SAP E-Book

TRY

Short Reference



Syntax

TRY.
    $[try_block$]
  $[ CATCH $[BEFORE UNWIND$] cx_class1 cx_class2 ... $[INTO oref$].
    $[catch_block$]$]
    ...
  $[ CLEANUP $[INTO oref$].
    $[cleanup_block$]$]
ENDTRY.

Effect

The statement TRY introduces a control structure with multiple statement blocks. The first statement block try_block is always executed, whereas a branching off to exactly one of the remaining statement blocks only occurs if a class-based exception is raised in try_block.

A TRY control structure defines the following statement blocks:

  • A TRY block try_block directly after the statement TRY. The TRY block defines a protected area whose class-based exceptions can be handled in the subsequent CATCH blocks. If no exception is raised in the TRY block and it reaches its end, the system resumes processing after ENDTRY. If a class-based exception is raised in the TRY block, the system searches for an exception handler in the same TRY control structure or in an external structure (see System Behavior).

  • One or more optional CATCH blocks catch_block for handling exceptions, each directly after a CATCH statement. If the end of a CATCH block is reached without it being left early, the processing continues after the ENDTRY. The special statements RETRY and RESUME can be listed in a CATCH block, to control the behavior of exception handling.

  • An optional CLEANUP block cleanup_block for cleanups directly after the CLEANUP statement.

A TRY control structure invalidates the simultaneous use of the obsolete statement CATCH SYSTEM-EXCEPTIONS to handle catchable runtime errors in the current processing block.

Notes

  • All statement blocks of a TRY control structure can contain any kind of control structures, in particular further TRY control structures.
  • No exceptions (except those in category CX_NO_CHECK from event handlers) can be propagated from the static constructors and event handlers, which means they must always be handled locally.


Example

Division by zero in a TRY block. The relevant exception is caught with CATCH.

TRY.
    cl_demo_output=>display( 1 / 0 ).
  CATCH cx_sy_arithmetic_error INTO DATA(exc).
    cl_demo_output=>display( exc->get_text( ) ).
ENDTRY.

Exceptions, TRY






CPI1466 during Backup   rdisp/max_wprun_time - Maximum work process run time  
This documentation is copyright by SAP AG.

Length: 4758 Date: 20200219 Time: 054314     sap01-206 ( 23 ms )

Our Service

Looking for Support? Questions?

The

Consolut

Callback-Service

Leave us your contact details and we will call you back. Panels marked with * are mandatory.