2011-09-30 82 views
3

我在Enterprise Architect中有一个类图。在Sparx Enterprise Architect中添加异常操作

我的一个类有一些方法,我想我的方法抛出异常。有没有任何想法,我该怎么做?

在附加图像我有接口(HsaInterface)有两种方法,我想都抛出异常。

图片显示类

enter image description here

+0

您指的是哪一款产品?这看起来像Sparx Enterprise Architect对我来说。 –

回答

6

EA的通过操作抛出的异常的表现是有点乱,并且相当缺乏文档的为好。本质上,异常由操作上的单个标记值表示,在逗号分隔列表中携带异常类的(非限定)名称。

例如,Java类com.sun.activation.registries.MailcapFile中的方法parseLine将具有标签throws,其值为MailcapParseException,IOException

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

如果您对一组Java类进行逆向工程,那么异常标记将填充到模型中。这可能是查看它如何使用的最简单方法。

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

此外,操作上的标记值不能显示在图表中。因此,尽管您可以向操作添加例外,但您只能通过查看操作的属性来查看它们。有趣的是,EA的数据模型确实在t_operation表中包含Throws列(因此EA的API中Method类的Throws属性)。这似乎是未使用的。

所以它归结为您的模型的目的。如果您将使用EA支持例外的语言之一生成代码,则需要手动添加throws标签。如果您想在图表中显示例外情况,则此方法无效。为了达到这样的目的,你最好从操作中绘制一个依赖到异常类,并对它进行刻板定型。

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

相关问题