Get Example source ABAP code based on a different SAP table
VERSION 5 GREY
Non-Class-Based Exceptions Non-class-based exceptions are the predecessors of class-based exceptions and should not be defined any more in new developments. ITOC
ABAP_PGL Using Class-Based Exceptions> ABAP_PGL_END
Definition Non-class-based exceptions can be defined in the parameter interfaces> of function modules and methods. These definitions take place as follows:
In methods of local classes, by assigning a name for the exception after the addition EXCEPTIONS>> of the statement $[CLASS-$]>>METHODS>>.
In methods of global classes, global interfaces or function modules, by assigning a name for the exception BEGIN_SECTION VERSION 5 OUT in Class Builder> or Function Builder> END_SECTION VERSION 5 OUT , whereby the checkbox for exception classes is not selected. The statement RAISE EXCEPTION>> or the addition THROW>> in a conditional expression> cannot be used to raise class-based exceptions in a method or a function module in whose interface non-class-based exceptions are defined.
Latest notes: Before class-based exceptions were introduced, all exceptions defined in the parameter interface> of methods or function modules were non-class-based. NON_V5_HINTS ABAP_HINT_END
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 function module calls> by assigning numeric values 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 sy-subrc> is evaluated.
Latest notes:
The exceptions that can be defined in the interfaces of methods and function modules are not real exceptions, since they do not change the control flow, but simply end the processing of the procedure> prematurely and set the return code sy-subrc> instead.
A predefined exception ABAP Additionerror_message>> can be used when calling function modules to handle messages> of types E> and A> sent during the processing of the function module as non-class-based exceptions. NON_V5_HINTS
RFC> currently allows only classic exception handling. Class-based exception handling is only possible in a different release track. ABAP_HINT_END