exception class

来源:互联网 发布:php 表格 翻页 编辑:程序博客网 时间:2024/04/29 20:23

在ABAP程序中,经常会碰到一些exception.通常碰见最多的地方也就是在Function module中添加的;下面介绍下Class Exception。

Class exception通常是由CX_NO_CHECK/CX_DYNAMIC_CHECK/CX_STATIC_CHECK这3个类来调用,他们都会继承kernal class CX_ROOT;  当在TRY.   ENDTRY.这个句块中使用CATCH 捕捉到exception的时候,就通过方法GET_TEXT( )来读取text 信息。

例如:

首先会在SE24中定义一个EXCEPTION CLASS,它的super class为CX_STATIC_CHECK,并在TEXT下定义一个ID为ZZZID

DATA: LO_EXCEPTION TYPE REF TO ZCX_MESSAGE,

         lv_string TYPE STRING.

 TRY .

 

   RAISE EXCEPTION TYPE zcx_message

        EXPORTING

           TEXTID = zcx_message=>zzzid.

 

      CATCH zcx_message INTO lo_exception.

      lv_string = lo_exception->GET_TEXT( ).

     MESSAGE I001(00) WITH lv_string.

ENDTRY.