自定义异常类的设计和管理-最佳实践?

2020-08-21 14:36发布

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

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


这更多的是讨论,而不是问题,但是现在我们开始。 你们如何设计和管理异常类? 在某些情况下,我一直在努力寻找一种简单实用的解决方案,但又不太"不干净"。

假设有一个ZCL_DELIVERY类,该类对交货进行一些操作。 可能有很多不同的错误,有些错误伴随一条消息("交货状态有误"),某些错误伴随整个表格(例如BAPI返回的错误或多个项目的错误列表)。

该类由不同的程序使用,这些程序可能希望对异常做出不同的反应:某些程序想向用户显示错误消息,某些程序想在应用程序日志中发布。

在网上的书籍和示例中,我主要是找到一些建议来维护异常类中的文本并使用IF_T100_MESSAGE。 就我个人而言,我一点都不喜欢它,并且觉得整个IF_T100_MESSAGE〜T100KEY超级笨拙。 同事用来为每个错误创建异常类的方法似乎也不可行(通过ZCX *进行的好运搜索)。

我倾向于吸引更多"通用"异常,这些异常将错误消息详细信息作为属性(这可以是T100键等效项或字符串或BAPIRET2表)。 在此示例中,我可能会创建单个异常类ZCX_DELIVERY并仅传递与其一起发生的任何错误消息。 而且,仅当异常需要不同的处理或单个错误消息与BAPI表相对应时,我才定义不同的异常类。

优点:(1)将异常类的数量保持在较低水平; (2)SE91中的"在哪里使用"显示了在类中确切使用了消息的位置。 劣势:我不知道这是否是正确的方法,是否会事与愿违。

如何在激增的ZCX…类与ZCX_SOMETHING_BAD_HAPPENED之间保持平衡? 是否有某种方法(没有双关语)可以解决这种疯狂问题? 您对此有何看法?

谢谢!

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

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


这更多的是讨论,而不是问题,但是现在我们开始。 你们如何设计和管理异常类? 在某些情况下,我一直在努力寻找一种简单实用的解决方案,但又不太"不干净"。

假设有一个ZCL_DELIVERY类,该类对交货进行一些操作。 可能有很多不同的错误,有些错误伴随一条消息("交货状态有误"),某些错误伴随整个表格(例如BAPI返回的错误或多个项目的错误列表)。

该类由不同的程序使用,这些程序可能希望对异常做出不同的反应:某些程序想向用户显示错误消息,某些程序想在应用程序日志中发布。

在网上的书籍和示例中,我主要是找到一些建议来维护异常类中的文本并使用IF_T100_MESSAGE。 就我个人而言,我一点都不喜欢它,并且觉得整个IF_T100_MESSAGE〜T100KEY超级笨拙。 同事用来为每个错误创建异常类的方法似乎也不可行(通过ZCX *进行的好运搜索)。

我倾向于吸引更多"通用"异常,这些异常将错误消息详细信息作为属性(这可以是T100键等效项或字符串或BAPIRET2表)。 在此示例中,我可能会创建单个异常类ZCX_DELIVERY并仅传递与其一起发生的任何错误消息。 而且,仅当异常需要不同的处理或单个错误消息与BAPI表相对应时,我才定义不同的异常类。

优点:(1)将异常类的数量保持在较低水平; (2)SE91中的"在哪里使用"显示了在类中确切使用了消息的位置。 劣势:我不知道这是否是正确的方法,是否会事与愿违。

如何在激增的ZCX…类与ZCX_SOMETHING_BAD_HAPPENED之间保持平衡? 是否有某种方法(没有双关语)可以解决这种疯狂问题? 您对此有何看法?

谢谢!

付费偷看设置
发送

一周热门 更多>