ABAP:如何为本地异常类发送消息....除了完全手动?

时间:2012-08-29 08:02:49

标签: class exception local abap

我想引发一个本地类型的异常,并在构造函数a * text中传递它。

这个*文本是我希望通过调用get_longtext方法返回的,稍后,当我捕获异常时。

当然我可以在我的类中添加一个属性,然后重新定义该方法。在我看来,应该有一个更简单的方法(就像在类似java的语言中,你只是“拥有”)。

继承的构造函数中存在用于异常的TEXTID参数。然而,这指向定义为类属性的“文本”......但这适用于全局类。

那么有什么办法让我以优雅的方式使用现有的构造函数? 或者我必须手工完成这一切吗?

2 个答案:

答案 0 :(得分:1)

如果您不想使用全局类(如建议的那样),您可以尝试在本地类中实现接口IF_T100_MESSAGE。首先通过SE91在任何消息类中维护错误消息,然后在类型为SCX_T100KEY的本地异常类中定义文本ID。实现异常类方法以在消息文本中使用占位符的其他属性(如有必要)。

查看IF_T100_MESSAGECL_MESSAGE_HELPER了解详情。要获取示例代码,请创建一个全局异常类并添加接口IF_T100_MESSAGE并检查方法的实现方式。

答案 1 :(得分:1)

可以定义您自己的本地异常类,它将具有IF_T100_MESSAGE接口的所有好处。

如果您对示例代码感兴趣,请参阅http://oprsteny.com/?p=1346

我的博客文章(代码很长)