ABAP抓取异常 try ,endtry.

  DATA: O_CX  TYPE  REF  TO  CX_ROOT.
    TRY .
        MOVE LS_UPLOAD-MENGE TO LS_OUTPUT-MENGE.
      CATCH  CX_ROOT INTO  O_CX.
        LV_MSG =  O_CX->IF_MESSAGE~GET_TEXT( ).
        CONCATENATE LS_OUTPUT-MESG LV_MSG INTO LS_OUTPUT-MESG SEPARATED BY ';'.
    ENDTRY.

IF LS_UPLOAD-MENGE  = 'AAA'.

   LV_MSG   =   无法将参数 'AAA' 解释为数字

ENDIF.

 

避免系统dump.

转自:http://www.cnblogs.com/jiangzhengjun/p/4292428.html

 

异常处理                  

异常类是系统预先定义好的全局类或者是由用户自定义的局部或全局的类。
在sap6.10版本里,exception classes已经取代了catchable runtime errors
基于类的异常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. 这个写法与java是相似的

*&方法二、(大师说这是新式的)

DATA result TYPE p DECIMALS 2.

  DATA oref TYPE REF TO cx_root.
  DATA text TYPE string.
  DATA i TYPE i.

  TRY .
      i = 1 / 0.
  CATCH cx_root INTO oref.
      text = oref->get_text( ).
      WRITE: '---' , text.
      RAISE EXCEPTION oref.”注:如果有此句,则不能放在Function中,否则报:Old and class-based exceptions must not be used the same time
  ENDTRY.

 

转载于:https://www.cnblogs.com/rainysblog/p/6574393.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值