在平时的ABAP开发中,需要捕获的异常通常为两种,一种是执行SQL,比如主键重复,INSERT语句字段类型不匹配等。还有就是RFC的通信错误,比如不能进行远程连接等。通常可以这么处理:
1.数据库异常:
  DATA: lcx_error TYPE REF TO cx_root. "cx_sy_sql_error . "cx_sy_open_sql_db.
  DATA i_tab LIKE TABLE OF spfli WITH HEADER LINE.
  DATA err_text TYPE c LENGTH 1000.
  
   TRY.
   INSERT spfli FROM TABLE i_tab.
   CATCH cx_sy_open_sql_db INTO lcx_error.
   err_text = lcx_error->get_text( ). "得到错误信息
   sy-subrc = 4. "改变系统变量
   ENDTRY.
  
   IF sy-subrc <> 0.
   WRITE :/ '数据更新失败!'.
   WRITE err_text.
   ROLLBACK WORK.
   ELSE.
   WRITE :/ '数据更新成功!'.
   COMMIT WORK.
   ENDIF.
2.RFC异常:
TRY.
CALL FUNCTION 'Z_DAQ_CALL_JCO'
DESTINATION 'ZJCOSERVER_DAQ'
EXPORTING
pv_empid = l_empid
IMPORTING
pv_rlt = l_rlt
TABLES
it_spfli = i_tab
EXCEPTIONS
system_failure = 1 MESSAGE err_text
communication_failure = 2 MESSAGE err_text.
ENDTRY.
IF SY-SUBRC <> 0.
WRITE: / '调用***失败!' , err_text.
ENDIF.

-------------------------------------
详细的信息可以参加下面的内容:
http://blog.csdn.net/CompassButton/archive/2007/04/03/1550818.aspx
1、异常分类
从sap 6.10开始,abap的异常分为两类:1)基于异常类的异常,2)非类异常。非类异常又分为系统定义异常(如:被0除异常)和用户自定义异常(用户自定义函数中由exception语句定义,raise语句产生的异常)。

异常有的是可以截获处理,用户可以截获做相应处理,系统将可以继续执行程序。如果用户不处理,系统将产生错误,并停止执行程序。有的异常为不可截获的错误异常,系统将直接产生错误,并停止执行程序。

2、异常处理语句
基于类异常相关语句:
a)TRY. 
... guarded section 
CATCH cx11 ... cx1n [INTO ex1]. 
... handlers for exceptions cx11 to cx1n 
CATCH cx21 ... cx2m [INTO ex2]. 
... handlers for exceptions cx21 bis cx2m 
... other handlers 
CLEANUP. 
... cleanup block 
ENDTRY.

b)RAISE EXCEPTION TYPE class.

c)RAISING cx1 ... cxn

非类异常相关语句:
a)catch system-exceptions ARITHMETIC_ERRORS = 4. 
....
endcatch.

c) raise (In function or method)

3、异常截获处理方法
Handling exceptions using/with exception classes 截获处理方法
data MYREF type ref to CX_SY_ARITHMETIC_ERROR. 
data ERR_TEXT type STRING. 
data RESULT type I. 
try. 
RESULT = 1 / 0. 
catch cx_sy_arithmetic_error into MYREF. 
ERR_TEXT = MYREF->GET_TEXT( ). 
endtry. 
Handling exceptions as catchable runtime errors (向后兼容6.10)
此异常处理sap建议使用try...endtry代替(错误和异常类对应关系参见第5部分)。
data RESULT type I. 
catch system-exceptions ARITHMETIC_ERRORS = 4. 
RESULT = 1 / 0. 
endcatch. 
if SY-SUBRC = 4. 
... 
endif.

4、代码样例
a)RAISING cx1 ... cxn
form adbc_exists_view using view_name type dd25l-viewname
changing subrc type sy-subrc
raising cx_sql_exception.

data: stmt type string,
ref type ref to data,
stmt_ref type ref to cl_sql_statement,
res_ref type ref to cl_sql_result_set,
cnt type sy-tabix.

subrc = 4.
create object stmt_ref.
get reference of view_name into ref.
stmt_ref->set_param( ref ).
stmt = 'select count(*) from user_views where view_name = ?'.
res_ref = stmt_ref->execute_query( stmt ).

* Host-Variable zur Ergebnisaufnahme zuordnen
get reference of cnt into ref.
res_ref->set_param( ref ).

res_ref->next( ).
if cnt = 1.
subrc = 0.
endif.
res_ref->close( ).

endform.

form exists_view using view_name type dd25l-viewname
changing subrc type sy-subrc.
try.
perform adbc_exists_view(sdb4fora)
using view_name
changing subrc.
catch cx_sql_exception.
subrc = 8.
endtry.
endform.
b)基于类的异常代码样例
5、错误与异常类对应关系
Exception group: ARITHMETIC_ERRORS

Class-based Exceptions Definition

*----------------------------------------------------------------------** CLASS class_exception DEFINITION*----------------------------------------------------------------------** All Exception Class must inherit from Class CX_ROOT or its subclass*----------------------------------------------------------------------*CLASS class_exception DEFINITION INHERITING FROM cx_static_check. PUBLIC SECTION. METHODS write_msg.ENDCLASS. "CX_SAMPLE_EXCEPTION DEFINITION
Class-based Exceptions Implementation

*----------------------------------------------------------------------** CLASS class_exception IMPLEMENTATION*----------------------------------------------------------------------*CLASS class_exception IMPLEMENTATION. METHOD write_msg. WRITE / 'Method of Class class_exception'. ENDMETHOD. ":ENDCLASS. "class_exception IMPLEMENTATION
Class main Definition

*----------------------------------------------------------------------** CLASS main DEFINITION*----------------------------------------------------------------------*CLASS main DEFINITION. PUBLIC SECTION.* This method use the class exceptions class_exception* to deal with error. To do this we use the statement RAISING METHODS action RAISING class_exception.ENDCLASS. "main DEFINITION
Class main Implementation

*----------------------------------------------------------------------** CLASS main IMPLEMENTATION*----------------------------------------------------------------------*CLASS main IMPLEMENTATION. METHOD action.* Here we're raising an exception that should be Treated by* exception class class_exception RAISE EXCEPTION TYPE class_exception. ENDMETHOD. "actionENDCLASS. "main IMPLEMENTATION
Defining Objects

DATA o_exception TYPE REF TO class_exception.DATA o_main TYPE REF TO main.
Instance Creation

START-OF-SELECTION. CREATE OBJECT o_main.
Calling Methods

* The statement TRY must be used to define a block that CATCH the exceptions TRY. o_main->action( ).* The Statement CATCH define a block that catches the exceptions of the* exception class class_exception CATCH class_exception. WRITE / 'Exception Caught'. ENDTRY.* The statement TRY must be used to define a block that CATCH the exceptions TRY. o_main->action( ).* The Statement CATCH define a block that catches the exceptions of the* exception class class_exception CATCH class_exception INTO o_exception. WRITE / 'Exception Caught'. o_exception->write_msg( ). ENDTRY.

(Associated superclass: CX_SY_ARITHMETIC_ERROR)

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

Exception group: CONVERSION_ERRORS

(Associated superclass: CX_SY_CONVERSION_ERROR)

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

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

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

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

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

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

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

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

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

6、类异常类树

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

----------------------------

转载自:http://blog.tianya.cn/blogger/post_read.asp?BlogID=1031752&PostID=13418909

【转】 ABAP中的异常处理 - TRY CATCH的使用实例相关推荐

  1. C#中的异常处理try catch finally

    C#中的异常处理是一种检测和处理代码中运行时错误的机制,由try catch和finaly块提供支持..NET框架提供了常见异常的内置类.程序执行期间发生的异常,它们可能是由于逻辑或系统错误引起的.如 ...

  2. js中的异常处理try...catch使用介绍

    在JavaScript可以使用try...catch来进行异常处理.例如: 复制代码 代码如下: try { foo.bar();} catch (e) { alert(e.name + " ...

  3. 22 C#中的异常处理入门 try catch throw

    22 C#中的异常处理入门 try catch throw 参考文章: (1)22 C#中的异常处理入门 try catch throw (2)https://www.cnblogs.com/thin ...

  4. kotlin中的异常处理_如何使用assertFailsWith在Kotlin中测试异常

    kotlin中的异常处理 by Daniel Newton 丹尼尔·牛顿 如何使用assertFailsWith在Kotlin中测试异常 (How to test exceptions in Kotl ...

  5. 编写高质量代码改善C#程序的157个建议——建议86:Parallel中的异常处理

    建议86:Parallel中的异常处理 建议85阐述了如何处理Task中的异常.由于Task的Start方法是异步启动的,所以我们需要额外的技术来完成异常处理.Parallel相对来说就要简单很多,因 ...

  6. PHP如何进行错误与异常处理(PHP7中的异常处理和之前版本异常处理的区别)

    PHP如何进行错误与异常处理(PHP7中的异常处理和之前版本异常处理的区别) 一.总结 一句话总结: throwable接口+Error类 在PHP7更新中有一条:更多的Error变为可捕获的Exce ...

  7. 【转】Java中关于异常处理的十个最佳实践

    原文地址:http://www.searchsoa.com.cn/showcontent_71960.htm 导读:异常处理是书写强健Java应用的一个重要部分,Java许你创建新的异常,并通过使用 ...

  8. c语言常用的异常处理,C语言中的异常处理

    一 前言: 异常处理,对于做面向对象开发的开发者来说是再熟悉不过了,例如在C#中有 try { ... } catch( Exception e){...} finally{ ..... } 在C++ ...

  9. 【转载】ABAP中数据和对象的动态创建和调用

    ABAP中数据和对象的动态创建和调用 动态创建数据或者对象是指在程序运行过程中创建数据变量或者对象实例,我们可以用引用定义来创建数据变量,格式为: CREATE DATA  gt_def TYPE ( ...

最新文章

  1. Chrome添加Axure RP插件
  2. 【计算摄影】计算机如何学会欣赏照片的美感?
  3. Leaflet中使用Leaflet.Spin插件实现地图加载等待效果
  4. vue中渲染对象中属性时显示未定义_揭开 vue 背后的秘密(1)
  5. 介绍一个轻量级iOS安全框架:SSKeyChain
  6. [iBoard 电子学堂][第二卷 C程序设计语言 ]第二篇 数据类型与运算符
  7. java特殊类型_java中如何查找某个特定类型作为形参的方法
  8. 5G标准化加速 需应对测试场景复杂性
  9. 设置c++程序的堆栈空间解决栈溢出问题
  10. opencv中Mat的数学运算和基本操作
  11. 829-信息检索教程【考点汇总】
  12. c语言将结构体转换为字符串,c语言中怎样将结构体转换成字符串
  13. UTM大地坐标系与经纬度转换算法C++
  14. 调查问卷反馈数据收集、分析过程
  15. logisim 快速加法器设计实验报告_数电课程实验一二
  16. 懂球帝Android客户端WebView优化之路
  17. BilSTM 实体识别_NLP入门实体命名识别(NER)+BilstmCRF模型原理Pytorch代码详解——最全攻略...
  18. App上线流程全攻略(史上最详细步骤)
  19. 安卓文件传输工具 Android File Transfer mac
  20. 金岩石:陈晓失误已铸成大错

热门文章

  1. 一个公式、五大指标帮你构建产品经理数据分析思维
  2. 【pmcaff专栏】陆蔚青:漫谈商业智能
  3. Windows Mobile中实现统计图形的绘制(C#版,柱状图)
  4. 《谷歌和亚马逊如何做产品》
  5. quartz 数据库配置
  6. Codeigniter 控制器的继承问题
  7. 我的空间为什么叫IT人?
  8. 活动目录的备份与还原
  9. MCPlayerKit 0.0.6 Release
  10. Git clone时出现Please make sure you have the correct access rights and the repository exists.问题已解决。...