SAP ABAP Exception handleing异常处理及使用

1、捕获异常
try.
      RESULT =  1 / NUMBER.
      write: / 'Result of division:', RESULT.
      RESULT = SQRT( NUMBER ).
      write: / 'Result of square root:', RESULT.
catch CX_SY_ZERODIVIDE into OREF.
        TEXT = OREF->GET_TEXT( ).
cleanup.
        clear RESULT.
endtry.

2、抛出异常
report  DEMO_RAISE_EXCEPTIONS line-size 100.
data OREF type ref to CX_ROOT.
data TEXT type STRING.
try.
  try.
    raise exception type CX_DEMO_CONSTRUCTOR
          exporting MY_TEXT = SY-REPID.
    catch CX_DEMO_CONSTRUCTOR into OREF.
      TEXT = OREF->GET_TEXT( ).
      write / TEXT.
      raise exception OREF.
  endtry.
  catch CX_DEMO_CONSTRUCTOR into OREF.
    TEXT = OREF->GET_TEXT( ).
    write / TEXT.
endtry.

3、声明方法抛出的异常
class A_CLASS definition.
  public section.
    methods FOO importing P type STRING
                 raising CX_DEMO_CONSTRUCTOR CX_DEMO_ABS_TOO_LARGE.
endclass.

4、定义异常类
class CX_LOCAL_EXCEPTION definition
                         inheriting from CX_STATIC_CHECK.
endclass.

start-of-selection.
  try.
      raise exception type CX_LOCAL_EXCEPTION.
    catch CX_LOCAL_EXCEPTION.
      message 'Local Exception!' type 'I'.
  endtry.
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值