给出一个经典的 ABAP 异常,如下所示:
MESSAGE ID 'XYZ' TYPE 'E' NUMBER 123 RAISING exception_name
如何在调用代码中捕获此异常?
我尝试过
try
/catch
、CASE sy-subrc
和CATCH SYSTEM-EXCEPTIONS
(这甚至不再编译,因为它已经过时了),但它们都不起作用。程序立即退出并在 SAPGUI 左下角显示错误消息。
假设经典异常是在函数
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.