读取数据集文件,我们是否应该处理所有可能的异常?

2020-09-13 23:29发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,可能是一个愚蠢的问题,但是...

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

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


您好,可能是一个愚蠢的问题,但是我只是想知道为什么我们ABAP开发人员在执行打开数据集读取数据集关闭数据集

不同地讲,您能否告诉我您认为以下代码段中未正确编码的内容(关于异常的处理)以及原因:

 CLASS lcl_app定义。
   公共部分。
     类方法read_text_file
       输入
         数据集类型序列
       正在返回
         VALUE(行)TYPE字符串表
       提高
         cx_sy_file_open
         cx_sy_codepage_converter_init
         cx_sy_conversion_codepage
         cx_sy_file_authority
         cx_sy_file_io
         cx_sy_file_close。
 ENDCLASS。


 类别lcl_app实施。
   方法read_text_file。
     DATA:TYPE字符串。

     "打开UTF-8文本文件以进行读取
     OPEN DATASET数据集,用于在默认情况下以文本模式输入。
     如果sy-subrc <> 0。
       引发例外类型cx_sy_file_open导出文件名=数据集
                             errortext ='找不到文件'## NO_TEXT。
     万一。

     做。
       "阅读下一行文字
       读取DATASET数据集INTO行。
       如果sy-subrc <> 0。
         出口。  "文件结尾->退出循环
       万一。
       将行追加到行。
     ENDDO。

     CLOSE DATASET数据集。

   终结法。
 ENDCLASS。

 选择开始。
   尝试。
       DATA(行)= lcl_app => read_text_file('/tmp/myfile')。
     捕获cx_root INTO DATA(lx_root)。
   ENDTRY。

非常感谢:)

10条回答
2020-09-13 23:48

很高兴看到参与者之间的答案略有不同。 一切对我来说都有意义。

是的,FILE类会更好。 这里更多的是一个示例,讨论应该处理哪些异常以及在何处处理异常,以及如何处理ABAP异常的案例也很有趣。 我从没想过那些伪异常容忍的对象,现在对我来说似乎很奇怪,我牢记它们,也许有一天。 到现在为止,我始终可以处理异常。

一周热门 更多>