gpt4 book ai didi

exception - 向 Sparx Enterprise Architect 中的操作添加异常

转载 作者:行者123 更新时间:2023-12-05 00:02:50 26 4
gpt4 key购买 nike

我在 Enterprise Architect 中有一个类图。

我的一个类有一些方法,我希望我的方法抛出异常。有谁知道我该怎么做?

与附加图像一样,我有接口(interface)(HsaInterface),它有两种方法,我希望两者都抛出异常。

图片展示类

enter image description here

最佳答案

EA 对操作引发的异常的表示有点困惑,而且文档记录也很差。本质上,异常由操作上的单个标记值表示,在逗号分隔的列表中携带异常类的(非限定)名称。

例如,方法 parseLine在 Java 类中 com.sun.activation.registries.MailcapFile会有一个标签 throws值为 MailcapParseException,IOException .

如果您在类中创建操作,则该操作不会自动获取异常标记。这是因为标签名称取决于实现语言;它是 SystemC 的“抛出”,而 C# 和 Java 是“抛出”(无论如何,根据手册,我还没有验证这一点)。但是,您可以自己创建标签。

如果您对一组 Java 类进行逆向工程,则会在模型中填充异常标记。这可能是了解其使用方式的最简单方法。

这个仅名称的链接显然非常薄弱。它用于代码生成,但如果更改异常类的名称,则需要手动更改标记值。 EA 在代码生成期间不会检查列出的类名是否存在或是否在范围内,它只是将名称写入方法签名中。

此外,操作的标记值不能显示在图表中。因此,虽然您可以向操作添加异常(exception),但您只能通过查看操作的属性来查看它们。

有趣的是,EA 的数据模型确实在 t_operation 表中包含一个 Throws 列(因此,在 EA 的 API 的 Method 类中包含一个 Throws 属性)。这似乎没有使用。

所以它归结为你的模型的目的。如果您将使用 EA 支持异常的一种语言生成代码,您需要添加 throws手动标记。如果您想在图表中显示异常,则该方法行不通。出于这样的目的,您最好从操作中绘制一个依赖项到异常类并将其定型为“抛出”。

为了将连接器锚定到操作,像往常一样从类中绘制它,然后右键单击要锚定的末端附近的连接器并选择链接到元素特征。

关于exception - 向 Sparx Enterprise Architect 中的操作添加异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7611069/

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