众所周知,ABAP 所有的异常类都是派生自CX_ROOT里,而CX_ROOT里又有3个子类,分别是
- CX_DYNAMIC_CHECK: 这些子类不需要任何处理。但是不处理异常的程序将被这些子类中止。
- CX_NO_CHECK: 如果未处理异常,则这些子类将自动传播。
- CX_STATIC_CHECK: 它们不会自动传播。您将需要自己进行处理,否则程序中将出现语法错误。
类异常类树
CX_SY_ROOT
|
|–CX_STATIC_CHECK
|
|–CX_DYNAMIC_CHECK
| |
| |–CX_SY_ARITHMETIC_ERROR
| | |
| | |–CX_SY_ZERODIVIDE
| | |
| | |–CX_SY_ARITHMETIC_OVERFLOW
| | |
| | |–CX_SY_ARG_OUT_OF_DOMAIN
| | |
| | |–CX_SY_PRECISION_LOSS
| |
| |–CX_SY_ASSIGN_ERROR
| | |
| | |–CX_SY_ASSIGN_CAST_ERROR
| | | |
| | | |–CX_SY_ASSIGN_CAST_ILLEGAL_CAST
| | | |
| | | |–CX_SY_ASSIGN_CAST_UNKNOWN_TYPE
| | |
| | |–CX_SY_ASSIGN_OUT_OF_RANGE
| |
| |–CX_SY_CODEPAGE_CONVERTER_INIT
| |
| |–CX_SY_CONVERSION_ERROR
| | |
| | |–CX_SY_CONVERSION_OVERFLOW
| | |
| | |–CX_SY_CONVERSION_NO_NUMBER
| | |
| | |–CX_SY_CONVERSION_CODEPAGE
| | |
| | |–CX_SY_CONVERSION_BASE64
| | |
| | |–CX_SY_CONV_ILLEGAL_DATE_TIME
| |
| |–CX_SY_CREATE_ERROR
| | |
| | |–CX_SY_CREATE_OBJECT_ERROR
| | |
| | |–CX_SY_CREATE_DATA_ERROR
| |
| |–CX_SY_DATA_ACCESS_ERROR
| | |
| | |–CX_SY_RANGE_OUT_OF_BOUNDS
| | |
| | |–CX_SY_OFFSET_NOT_ALLOWED
| |
| |–CX_SY_DYN_CALL_ERROR
| | |
| | |–CX_SY_DYN_CALL_ILLEGAL_CLASS
| | |
| | |–CX_SY_DYN_CALL_ILLEGAL_FUNC
| | |
| | |–CX_SY_DYN_CALL_ILLEGAL_METHOD
| | |
| | |–CX_SY_DYN_CALL_PARAMETER_ERROR
| | |
| | |–CX_SY_DYN_CALL_EXCP_NOT_FOUND
| | |
| | |–CX_SY_DYN_CALL_ILLEGAL_TYPE
| | |
| | |–CX_SY_DYN_CALL_PARAM_MISSING
| | |
| | |–CX_SY_DYN_CALL_PARAM_NOT_FOUND
| |
| |–CX_SY_FILE_ACCESS_ERROR
| | |
| | |–CX_SY_FILE_AUTHORITY
| | |
| | |–CX_SY_FILE_CLOSE
| | |
| | |–CX_SY_FILE_IO
| | |
| | |–CX_SY_FILE_POSITION
| | |
| | |–CX_SY_FILE_OPEN_MODE
| | |
| | |–CX_SY_FILE_OPEN
| |
| |–CX_SY_GEN_SOURCE_TOO_WIDE
| |
| |–CX_SY_IMPORT_MISMATCH_ERROR
| |
| |–CX_SY_MOVE_CAST_ERROR
| |
| |–CX_SY_PROGRAM_NOT_FOUND
| |
| |–CX_SY_PROVIDE_EXCEPTION
| | |
| | |–CX_SY_PROVIDE_INTERVAL_OVERLAP
| | |
| | |–CX_SY_PROVIDE_TABLE_NOT_SORTED
| |
| |–CX_SY_READ_SRC_LINE_TOO_LONG
| |
| |–CX_SY_REF_IS_INITIAL
| |
| |–CX_SY_REPLACE_INFINITE_LOOP
| |
| |–CX_SY_SCAN_SOURCE_TOO_WIDE
| |
| |–CX_SY_SQL_ERROR
| | |
| | |–CX_SY_OPEN_SQL_ERROR
| | | |
| | | |–CX_SY_OPEN_SQL_DB
| | | |
| | | |–CX_SY_DYNAMIC_OSQL_ERROR
| | | |
| | | |–CX_SY_DYNAMIC_OSQL_SEMANTICS
| | | |
| | | |–CX_SY_DYNAMIC_OSQL_SYNTAX
| | |
| | |–CX_SY_NATIVE_SQL_ERROR
| |
| |–CX_SY_WRITE_SRC_LINE_TOO_LONG
|
|–CX_NO_CHECK
|
|–CX_SY_EXPORT_NO_SHARED_MEMORY
|
|–CX_SY_EXPORT_BUFFER_NO_MEMORY
|
|–CX_SY_GENERATE_SUBPOOL_FULL
|
|–CX_SY_LOCALIZATION_ERROR
|
|–CX_SY_NO_HANDLER
|
|–CX_SY_PIPES_NOT_SUPPORTED
|
|–CX_SY_PIPE_REOPEN
|
|–CX_SY_REMOTE_CALL_ERROR
| |
| |–CX_SY_RMC_COMM_FAILURE
| |
| |–CX_SY_RMC_INVALID_STATUS
| |
| |–CX_SY_RMC_SYSTEM_FAILURE
|
|–CX_SY_TOO_MANY_FILES