ABAP:如何捕获`MESSAGE RAISING`类型异常

问题描述 投票:0回答:1

给出一个经典的 ABAP 异常,如下所示:

MESSAGE ID 'XYZ' TYPE 'E' NUMBER 123 RAISING exception_name

如何在调用代码中捕获此异常?

我尝试过

try
/
catch
CASE sy-subrc
CATCH SYSTEM-EXCEPTIONS
(这甚至不再编译,因为它已经过时了),但它们都不起作用。程序立即退出并在 SAPGUI 左下角显示错误消息。

exception try-catch abap
1个回答
0
投票

假设经典异常是在函数

cl_foo=>bar
中引发的。您可以通过
EXCEPTIONS
关键字在函数调用中指定选项来捕获异常。请拨打
CASE sy-subrc
电话跟进。

例如:

cl_foo=>bar( EXCEPTIONS foo1   = 1
                        foo2   = 2
                        foo3   = 3
                        OTHERS = 4 ).
CASE sy-subrc.
  WHEN 0.
      WRITE: / |Success|.
  WHEN OTHERS.
      WRITE: / |Error|.
ENDCASE.
© www.soinside.com 2019 - 2024. All rights reserved.