Assignment of Catchable Runtime Errors to Exception Groups

Most catchable runtime errors are assigned to exception groups. Using the name of an exception group, you can catch all catchable runtime errors of the group simultaneously using CATCH SYSTEM-EXCEPTIONS.

A predefined exception class is specified for each catchable runtime error which can be used to handle the runtime error starting with Release 6.10. Normally, most exception classes of an exception group belong to a common superclass. This superclass is specified in parentheses below the exception group. For details, see the complete hierarchy.

The ABAP keywords assigned are specified for each exception group. It is only for those keywords that are assigned to a specific exception group that you can catch the runtime errors contained in this exception group using CATCH SYSTEM-EXCEPTIONS.

Exception group: ARITHMETIC_ERRORS

(Associated superclass: CX_SY_ARITHMETIC_ERROR)

This group contains exceptions that may occur in arithmetic expressions, including division by zero, overflow and underflow of fields, and errors in arithmethic or trigonometric functions.
You cannot catch errors that may occur during the conversion between data types in mixed arithmethic expressions (see COMPUTE).

BCD_ZERODIVIDE CX_SY_ZERODIVIDE
COMPUTE_FLOAT_ZERODIVIDE CX_SY_ZERODIVIDE
COMPUTE_INT_ZERODIVIDE CX_SY_ZERODIVIDE
ADDF_INT_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
BCD_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_BCD_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_COSH_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_EXP_RANGE CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_FLOAT_DIV_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_FLOAT_MINUS_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_FLOAT_PLUS_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_FLOAT_TIMES_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_INT_ABS_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_INT_DIV_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_INT_MINUS_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_INT_PLUS_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_INT_TIMES_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_LOG10_ERROR CX_SY_ARITHMETIC_OVERFLOW, CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_LOG_ERROR CX_SY_ARITHMETIC_OVERFLOW, CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_MATH_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_POW_RANGE CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_SINH_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW
COMPUTE_ACOS_DOMAIN CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_ASIN_DOMAIN CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_ATAN_DOMAIN CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_COSH_DOMAIN CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_COS_DOMAIN CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_EXP_DOMAIN CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_MATH_DOMAIN CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_POW_DOMAIN CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_SINH_DOMAIN CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_SIN_DOMAIN CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_SQRT_DOMAIN CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_TANH_DOMAIN CX_SY_ARG_OUT_OF_DOMAIN
COMPUTE_COS_LOSS CX_SY_PRECISION_LOSS
COMPUTE_MATH_LOSS CX_SY_PRECISION_LOSS
COMPUTE_SIN_LOSS CX_SY_PRECISION_LOSS
COMPUTE_TAN_LOSS CX_SY_PRECISION_LOSS
BCD_FIELD_OVERFLOW CX_SY_CONVERSION_OVERFLOW

The following keywords are assigned to this exception group:

ADD

ADD-CORRESPONDING

COMPUTE

DIVIDE

DIVIDE-CORRESPONDING

MULTIPLY

MULTIPLY-CORRESPONDING

SUBTRACT

SUBTRACT-CORRESPONDING

Notes

The keyword COMPUTE is not required. Statements of the type
n1 = arithexp
therefore belong to the keyword COMPUTE.

Statements of the type
COMPUTE n1 = n2.
are mere assignments without arithmetic function and are assigned to the keyword MOVE in the context of catchable runtime errors. To avoid confusion, it is better to write the following in these cases:
MOVE n2 TO n1. oder n1 = n2.

Exception group: CONVERSION_ERRORS

(Associated superclass: CX_SY_CONVERSION_ERROR)

This group contains runtime errors that may occur during the conversion between data types. You can make an explicit conversion using MOVE, for example.
Implicit conversions are only caught in arithmetic expressions (see COMPUTE).

BCD_FIELD_OVERFLOW CX_SY_CONVERSION_OVERFLOW
CONVT_OVERFLOW CX_SY_CONVERSION_OVERFLOW
CONVT_CODEPAGE CX_SY_CONVERSION_CODEPAGE
CONVT_NO_NUMBER CX_SY_CONVERSION_NO_NUMBER
BCD_OVERFLOW CX_SY_ARITHMETIC_OVERFLOW

The following keywords are assigned to this exception group:

ADD

ADD-CORRESPONDING

COMPUTE

DIVIDE

DIVIDE-CORRESPONDING

MOVE

MOVE-CORRESPONDING

MULTIPLY

MULTIPLY-CORRESPONDING

PACK

SUBTRACT

SUBTRACT-CORRESPONDING

UNPACK

Note

Statements of the type n2 = n1 are analogous to MOVE n1 TO n2 and are assigned to the keyword MOVE.

Exception group: CREATE_DATA_ERRORS

(Associated superclass: CX_SY_CREATE_ERROR)

This group contains runtime errors that may occur during the creation of data objects.

CREATE_DATA_UNKNOWN_TYPE CX_SY_CREATE_DATA_ERROR
CREATE_DATA_NOT_ALLOWED_TYPE CX_SY_CREATE_DATA_ERROR
CREATE_DATA_LEN_NOT_ALLOWED CX_SY_CREATE_DATA_ERROR
CREATE_DATA_ILLEGAL_LENGTH CX_SY_CREATE_DATA_ERROR
CREATE_DATA_ILLEGAL_DECIMALS CX_SY_CREATE_DATA_ERROR
CREATE_DATA_ILLEGAL_INIT_SIZE CX_SY_CREATE_DATA_ERROR

The following keywords are assigned to this exception group:

CREATE DATA

Exception group: CREATE_OBJECT_ERRORS

(Associated superclass: CX_SY_CREATE_ERROR)

This group contains runtime errors that may occur during the creation of objects.

CREATE_OBJECT_CLASS_NOT_FOUND CX_SY_CREATE_OBJECT_ERROR
CREATE_OBJECT_CLASS_ABSTRACT CX_SY_CREATE_OBJECT_ERROR
CREATE_OBJECT_CREATE_PRIVATE CX_SY_CREATE_OBJECT_ERROR
CREATE_OBJECT_CREATE_PROTECTED CX_SY_CREATE_OBJECT_ERROR

The following keywords are assigned to this exception group:

CREATE OBJECT

Exception group: DATA_ACCESS_ERRORS

(Associated superclass: CX_SY_DATA_ACCESS_ERROR)

This group contains runtime errors that may occur during subfield access (with offset/length) to data objects.

DATA_OFFSET_NEGATIVE CX_SY_RANGE_OUT_OF_BOUNDS
DATA_LENGTH_NEGATIVE CX_SY_RANGE_OUT_OF_BOUNDS
DATA_LENGTH_0 CX_SY_RANGE_OUT_OF_BOUNDS
DATA_LENGTH_TOO_LARGE CX_SY_RANGE_OUT_OF_BOUNDS
DATA_OFFSET_LENGTH_TOO_LARGE CX_SY_RANGE_OUT_OF_BOUNDS
REFI_WRONG_SECTION CX_SY_RANGE_OUT_OF_BOUNDS
STRING_OFFSET_NEGATIVE CX_SY_RANGE_OUT_OF_BOUNDS
STRING_OFFSET_TOO_LARGE CX_SY_RANGE_OUT_OF_BOUNDS
STRING_LENGTH_NEGATIVE CX_SY_RANGE_OUT_OF_BOUNDS
STRING_LENGTH_TOO_LARGE CX_SY_RANGE_OUT_OF_BOUNDS
STRING_OFFSET_LENGTH_TOO_LARGE CX_SY_RANGE_OUT_OF_BOUNDS
DATA_OFFSET_LENGTH_NOT_ALLOWED CX_SY_OFFSET_NOT_ALLOWED

Since a subfield access can occur in almost all statements, no keywords can be assigned.

Exception group: DYNAMIC_CALL_METHOD_ERRORS

(Associated superclass: CX_SY_DYN_CALL_ERROR)

This group contains runtime errors that may occur during a dynamic method call. These are normally errors that trigger a syntax error if the call is static.

DYN_CALL_METH_CLASS_ABSTRACT CX_SY_DYN_CALL_ILLEGAL_CLASS
DYN_CALL_METH_CLASS_NOT_FOUND CX_SY_DYN_CALL_ILLEGAL_CLASS
DYN_CALL_METH_CLASSCONSTRUCTOR CX_SY_DYN_CALL_ILLEGAL_METHOD
DYN_CALL_METH_CONSTRUCTOR CX_SY_DYN_CALL_ILLEGAL_METHOD
DYN_CALL_METH_NOT_FOUND CX_SY_DYN_CALL_ILLEGAL_METHOD
DYN_CALL_METH_NO_CLASS_METHOD CX_SY_DYN_CALL_ILLEGAL_METHOD
DYN_CALL_METH_PRIVATE CX_SY_DYN_CALL_ILLEGAL_METHOD
DYN_CALL_METH_PROTECTED CX_SY_DYN_CALL_ILLEGAL_METHOD
DYN_CALL_METH_EXCP_NOT_FOUND CX_SY_DYN_CALL_EXCP_NOT_FOUND
DYN_CALL_METH_PARAM_KIND CX_SY_DYN_CALL_ILLEGAL_TYPE
DYN_CALL_METH_PARAM_LITL_MOVE CX_SY_DYN_CALL_ILLEGAL_TYPE
DYN_CALL_METH_PARAM_TAB_TYPE CX_SY_DYN_CALL_ILLEGAL_TYPE
DYN_CALL_METH_PARAM_TYPE CX_SY_DYN_CALL_ILLEGAL_TYPE
DYN_CALL_METH_PARAM_MISSING CX_SY_DYN_CALL_PARAM_MISSING
DYN_CALL_METH_PARREF_INITIAL CX_SY_DYN_CALL_PARAM_MISSING
DYN_CALL_METH_PARAM_NOT_FOUND CX_SY_DYN_CALL_PARAM_NOT_FOUND
DYN_CALL_METH_REF_IS_INITIAL CX_SY_REF_IS_INITIAL

The following keywords are assigned to this exception group:

CALL METHOD

Exception group: FILE_ACCESS_ERRORS

(Associated superclass: CX_SY_FILE_ACCESS_ERROR)

This group contains runtime errors that may occur during file access. Typical examples are if the system cannot find the file, if no more space is available to write or create the file, or if the authorization to access the file is missing.

DATASET_CANT_CLOSE CX_SY_FILE_CLOSE
DATASET_CANT_OPEN CX_SY_FILE_OPEN
EXPORT_DATASET_CANNOT_OPEN CX_SY_FILE_OPEN
DATASET_WRITE_ERROR CX_SY_FILE_IO
DATASET_READ_ERROR CX_SY_FILE_IO
EXPORT_DATASET_WRITE_ERROR CX_SY_FILE_IO
DATASET_SEEK_ERROR CX_SY_FILE_POSITION
DATASET_NO_POSITION CX_SY_FILE_POSITION
DATASET_READ_ONLY CX_SY_FILE_OPEN_MODE
DATASET_NOT_OPEN CX_SY_FILE_OPEN_MODE
OPEN_DATASET_NO_AUTHORITY CX_SY_FILE_AUTHORITY
OPEN_PIPE_NO_AUTHORITY CX_SY_FILE_AUTHORITY
DATASET_TOO_MANY_FILES CX_SY_TOO_MANY_FILES
DATASET_NO_PIPE CX_SY_PIPES_NOT_SUPPORTED

The following keywords are assigned to this exception group:

CLOSE, variant: CLOSE DATASET ...

DELETE, variant: DELETE DATASET ...

EXPORT, variant: EXPORT ... TO DATASET ...

OPEN, variant: OPEN DATASET...

READ, variant: READ DATASET...

TRANSFER

Exception group: IMPORT_MISMATCH_ERRORS

(Common class: CX_SY_IMPORT_MISMATCH_ERROR)

This group contains runtime errors that may occur during the import of data

if the type or the length of the data stored is not identical with that of the target type.

CONNE_IMPORT_WRONG_COMP_DECS CX_SY_IMPORT_MISMATCH_ERROR
CONNE_IMPORT_WRONG_COMP_LENG CX_SY_IMPORT_MISMATCH_ERROR
CONNE_IMPORT_WRONG_COMP_TYPE CX_SY_IMPORT_MISMATCH_ERROR
CONNE_IMPORT_WRONG_FIELD_DECS CX_SY_IMPORT_MISMATCH_ERROR
CONNE_IMPORT_WRONG_FIELD_LENG CX_SY_IMPORT_MISMATCH_ERROR
CONNE_IMPORT_WRONG_FIELD_TYPE CX_SY_IMPORT_MISMATCH_ERROR
CONNE_IMPORT_WRONG_OBJECT_TYPE CX_SY_IMPORT_MISMATCH_ERROR
CONNE_IMPORT_WRONG_STRUCTURE CX_SY_IMPORT_MISMATCH_ERROR
IMPORT_ALIGNMENT_MISMATCH CX_SY_IMPORT_MISMATCH_ERROR
IMPORT_WRONG_END_POS CX_SY_IMPORT_MISMATCH_ERROR

The following keywords are assigned to this exception group:

IMPORT

Exception group: LOCALIZATION_ERRORS

(Common class: CX_SY_LOCALIZATION_ERROR)

This group contains runtime errors that may occur when you switch to another text environment. Typical examples are if the required language is not allowed or if the system wants to switch to a character set which has not been released.

TEXTENV_CODEPAGE_NOT_ALLOWED CX_SY_LOCALIZATION_ERROR
TEXTENV_INVALID CX_SY_LOCALIZATION_ERROR
TEXTENV_KEY_INVALID CX_SY_LOCALIZATION_ERROR

The following keywords are assigned to this exception group:

SET, Variante: SET LOCALE ...

Exception group: REMOTE_CALL_ERRORS

(Associated superclass: CX_SY_REMOTE_CALL_ERROR)

This group contains runtime errors that may occur during calls in remote systems (currently only CALL METHOD). Typical examples are network errors or the unexpected termination of the connection.

RMC_COMMUNICATION_FAILURE CX_SY_RMC_COMM_FAILURE
RMC_INVALID_STATUS CX_SY_RMC_INVALID_STATUS
RMC_SYSTEM_FAILURE CX_SY_RMC_SYSTEM_FAILURE

The following keywords are assigned to this exception group:

CALL METHOD

Not assigned to an exception group:

ASSIGN_CASTING_ILLEGAL_CAST CX_SY_ASSIGN_CAST_ILLEGAL_CAST
ASSIGN_CASTING_UNKNOWN_TYPE CX_SY_ASSIGN_CAST_UNKNOWN_TYPE
ASSIGN_FIELD_NOT_IN_RANGE CX_SY_ASSIGN_OUT_OF_RANGE
DATASET_OFFSET_TOO_LARGE CX_SY_FILE_POSITION
DYN_CALL_METH_NOT_IMPLEMENTED CX_SY_DYN_CALL_ILLEGAL_METHOD
EXPORT_BUFFER_NO_MEMORY CX_SY_EXPORT_BUFFER_NO_MEMORY
GENERATE_SUBPOOL_DIR_FULL CX_SY_GENERATE_SUBPOOL_FULL
MOVE_CAST_ERROR CX_SY_MOVE_CAST_ERROR
PERFORM_PROGRAM_NAME_TOO_LONG CX_SY_PROGRAM_NOT_FOUND
REPLACE_INFINITE_LOOP CX_SY_REPLACE_INFINITE_LOOP