SAP EXCEPTIONS NON CLASS

Get Example source ABAP code based on a different SAP table
  


ARTICLE

Non-Class-Based Exceptions

Definition
Non-class-based exceptions can be defined in the interfaces of function modules and methods. These exceptions are defined as follows:
For methods of local classes, by assigning a name for the exception after the EXCEPTIONS addition of the statement [CLASS-] METHODS.
For methods of global classes or function modules, by assigning a name for the exception in the Class Builder or the Function Builder, in which case the radio button for exception classes is not selected.
In a method or a function module in whose interface non-class-based exceptions are defined, the statement RAISE EXCEPTION or the addition THROW in a conditional expression cannot be used to raise class-based exceptions.

Note
Before class-based exceptions were introduced, all exceptions defined in the interface of methods of global classes or function modules were non-class-based.

Raising
Non-class-based exceptions are raised by the following statements:
RAISE
MESSAGE ... RAISING

Handling
The handling of non-class-based exceptions is made possible by the addition EXCEPTIONS in method calls and in function module calls. Numeric values are assigned to the exceptions, which are used to fill the system field sy-subrc when the exception is raised. The actual error handling takes place after the call, when the system evaluates sy-subrc.

ABAP_PGL Using Class-Based Exceptions

Notes
The exceptions that can be defined in the interfaces of methods and function modules are not real exceptions, since they do not modify the control flow; instead they just end the processing of the procedure prematurely and set the return code sy-subrc.
RFC currently allows only classical exception handling. Class-based exception handling is only possible in a different release track.