ARTICLE
Assignment of Catchable Runtime Errors to Exception Groups
Most of the obsolete catchable runtime errors are assigned to exception
groups. Using the name of an exception group, all catchable runtime
errors of the group can be caught simultaneously using
CATCH SYSTEM-EXCEPTIONS .
For each of the catchable runtime errors, a
predefined exception class is
specified that can be used to handled the runtime error Normally,
most exception classes of an exception group belong to a common
superclass. This superclass is specified in parentheses below the except
ion group.
The associated ABAP keywords are specified for each exception group.
Only those keywords associated with a specific exception group can be
used to catch the runtime errors in this exception group using the
obsolete statement CATCH SYSTEM-EXCEPTIONS .
Exception group: ARITHMETIC_ERRORS
(Associated superclass:
CX_SY_ARITHMETIC_ERROR )
This group contains exceptions that can be raised by arithmetic
expressions. These include, for example, division by zero, overflows in
fields, and errors in arithmetic and trigonometric functions.
Errors cannot be caught that occur during the conversion between data
types in mixed arithmetical
expressions
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 associated with this exception group:
ADD
ADD-CORRESPONDING
COMPUTE
DIVIDE
DIVIDE-CORRESPONDING
MULTIPLY
MULTIPLY-CORRESPONDING
SUBTRACT
SUBTRACT-CORRESPONDING
Notes
The keyword COMPUTE is optional (and
also obsolete). However, statements in category
n1 = arithexp
still belong to the keyword COMPUTE .
Statements of the category
COMPUTE n1 = n2.
are simply 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:
n1 = n2.
Exception group: CONVERSION_ERRORS
(Associated superclass:
CX_SY_CONVERSION_ERROR )
This group contains runtime errors that can occur during the conversion
between data types. An explicit conversion can be made using
MOVE , for example.
Implicit conversions are only caught in
arithmetical expressions .
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 associated with this exception group:
ADD
ADD-CORRESPONDING
COMPUTE
DIVIDE
DIVIDE-CORRESPONDING
MOVE
MOVE-CORRESPONDING
MULTIPLY
MULTIPLY-CORRESPONDING
PACK
SUBTRACT
SUBTRACT-CORRESPONDING
UNPACK
Note
Statements of category n2 = n1 are assigned to the obsolete
keyword MOVE .
Exception group: CREATE_DATA_ERRORS
(Associated superclass:
CX_SY_CREATE_ERROR )
This group contains runtime errors that can occur when data objects are
created.
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 associated with this exception group:
CREATE DATA
Exception group: CREATE_OBJECT_ERRORS
(Associated superclass:
CX_SY_CREATE_ERROR )
This group contains runtime errors that can occur when objects are
created.
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 associated with this exception group:
CREATE OBJECT
Exception group: DATA_ACCESS_ERRORS
(Associated superclass:
CX_SY_DATA_ACCESS_ERROR )
This group contains runtime errors that can occur in substring accesses
(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 associated.
Exception group: DYNAMIC_CALL_METHOD_ERRORS
(Associated superclass:
CX_SY_DYN_CALL_ERROR )
This group contains runtime errors that can occur in dynamic method
calls. These are normally errors that trigger a syntax error when 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 associated with this exception group:
CALL METHOD
Exception group: FILE_ACCESS_ERRORS
(Associated superclass:
CX_SY_FILE_ACCESS_ERROR )
This group contains runtime errors that can occur when files are
accessed. Typical examples are when the system cannot find the file,
when no more space is available to write to 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 associated with 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 can occur during the import of
data
from the ABAP Memory ,
from the database,
from the SHARED BUFFER , or
from a file
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 associated with this exception group:
IMPORT
Exception group: LOCALIZATION_ERRORS
(Common class: CX_SY_LOCALIZATION_ERROR
)
This group contains runtime errors that can occur when the program
switches to another text environment
. Typical examples are when the required language is not allowed or when
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 associated with this exception group:
SET , variant: SET LOCALE ...
Exception group: REMOTE_CALL_ERRORS
(Associated superclass:
CX_SY_REMOTE_CALL_ERROR )
This group contains runtime errors that can occur during calls to 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 associated with 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
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved