如何处理预期的异常?

2020-08-13 17:42发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好!

代码检查器中有一个选项可警告未处理的异常,例如

尝试。
     get_an_optional_value()。
   捕获value_not_maintained。
 ENDTRY。
 

应该如何处理CATCH部分?

我经常看到类似的评论

"没事

"预期的错误;值保持不变

另一个选择是放置"无用"命令:

 my_structure-field = my_structure-field。

为了满足在任何情况下处理异常的要求,我还经常看到:

 lcl_exceptions_helper => nothing_to_do_here()。

如果您留下一个空的CATCH块-另一种选择-如果您忘记处理该异常,那么下一个开发人员可能会感到不安全。

您对处理不是"错误"而只是"没有结果,对不起"的技术方法有什么看法?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好!

代码检查器中有一个选项可警告未处理的异常,例如

尝试。
     get_an_optional_value()。
   捕获value_not_maintained。
 ENDTRY。
 

应该如何处理CATCH部分?

我经常看到类似的评论

"没事

"预期的错误;值保持不变

另一个选择是放置"无用"命令:

 my_structure-field = my_structure-field。

为了满足在任何情况下处理异常的要求,我还经常看到:

 lcl_exceptions_helper => nothing_to_do_here()。

如果您留下一个空的CATCH块-另一种选择-如果您忘记处理该异常,那么下一个开发人员可能会感到不安全。

您对处理不是"错误"而只是"没有结果,对不起"的技术方法有什么看法?

付费偷看设置
发送
3条回答
路亽曱_Ryan
1楼-- · 2020-08-13 18:13

Enno Wulff 事情是:我系统上的行为与我完全相同 会期望的。 如果有异常,请不要使用结果! 无效。 因此,如果什么都没有发现,我总是会创建一个异常,因为有效空和无效空之间是有区别的。

悠然的二货
2楼-- · 2020-08-13 18:12

您说:"另外:调用者必须知道 "初始"值;"空格"可能是有效的参数值。"

最近有一个讨论关于返回全类型数据引用(即不是"将类型引用到数据",而是"将类型引用到<完整类型>")而不是返回值,而是使用IF结果是BOUND而不是IF 结果是INITIAL:

 DATA(result)= get_an_optional_value()。  " <====返回参考
 如果结果是绑定的。  " <====被绑定
   my_already_filled_variable =结果-> *。  " <====取消引用
 ENDIF。
95年老男孩
3楼-- · 2020-08-13 18:04

您可以通过添加编译指示## NO_HANDLER

< img src="/img/storage/temp/1833778-slin.png">

一周热门 更多>