Show TOC

Semantic Considerations for Classic ExceptionsLocate this document in the navigation structure


If you use class-based exception handling, you can also catch and handle classic exceptions with exception class CX_CLASSIC_EXCEPTION.

If you use statements RAISE and MESSAGE RAISING, then this always produces a classic exception.

In an RFC call the statement MESSAGE always behaves differently than in a local function call:

  • For all RFC types with a background processing exception (tRFC/qRFC, bgRFC), messages of the type X, A or E cause an exception of type SYSTEM_FAILURE.

  • In background processing, messages of type X, A or E in the affected LUWs/units cause a corresponding error status. Messages of type W, S or I are ignored. The corresponding LUWs/units are executed.

  • The ERROR_MESSAGE addition in EXCEPTIONS block stays in the RFC case without any other effect.

If you use class-based exception handling, ever exception that appears as the result of a MESSAGE statement causes an exception of class CX_REMOTE_APPL_ERROR in the RFC client.