我在Enterprise Architect中有一个类图。在Sparx Enterprise Architect中添加异常操作
我的一个类有一些方法,我想我的方法抛出异常。有没有任何想法,我该怎么做?
在附加图像我有接口(HsaInterface)有两种方法,我想都抛出异常。
图片显示类
我在Enterprise Architect中有一个类图。在Sparx Enterprise Architect中添加异常操作
我的一个类有一些方法,我想我的方法抛出异常。有没有任何想法,我该怎么做?
在附加图像我有接口(HsaInterface)有两种方法,我想都抛出异常。
图片显示类
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
标签。如果您想在图表中显示例外情况,则此方法无效。为了达到这样的目的,你最好从操作中绘制一个依赖到异常类,并对它进行刻板定型。
为了将连接器锚定到某个操作上,请像往常一样从该类中绘制该连接器,然后右键单击要锚定的端点附近的连接器,然后选择链接到元素特征。
您指的是哪一款产品?这看起来像Sparx Enterprise Architect对我来说。 –