gpt4 book ai didi

try-catch - 无法捕获某些异常

转载 作者:行者123 更新时间:2023-12-04 13:38:22 28 4
gpt4 key购买 nike

我正在调用cl_abap_typedescr=>describe_by_name方法。它可能会抛出TYPE_NOT_FOUND异常。我要从C#中来,在C#中捕获这样的错误将非常容易。但是在ABAP中,我无法捕捉到异常。

首先,我无法在代码中使用TYPE_NOT_FOUND异常对象。它只是不存在。事实仍然如此,即捕获CX_ROOT也无济于事。它只是忽略了我的try catch子句而崩溃:

TRY .
descr_ref0 ?= cl_abap_typedescr=>describe_by_name('iabc1').
CATCH cx_root.
BREAK-POINT.
ENDTRY.

最佳答案

我假设您需要类型转换,因此为此提供了额外的步骤。

这种语法不像新语法那么优雅,但这是我可以编译您的示例的唯一方法:

  data descr_ref1 type ref to cl_abap_typedescr.

call method cl_abap_typedescr=>describe_by_name(
exporting p_name = 'abc1'
receiving p_descr_ref = descr_ref1
exceptions type_not_found = 1 ).

if sy-subrc <> 0.
break-point.
else.
descr_ref0 ?= descr_ref1.
endif.

编辑:

您可以通过查看方法来判断使用哪种类型的异常:

或者,您也可以在编辑器中使用“模式”命令来获取正确的语法。

关于try-catch - 无法捕获某些异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30597747/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com