2011-09-30 46 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標籤。如果您想在圖表中顯示例外情況,則此方法無效。爲了達到這樣的目的,你最好從操作中繪製一個依賴到異常類,並對它進行刻板定型。

爲了將連接器錨定到某個操作上,請像往常一樣從該類中繪製該連接器,然後右鍵單擊要錨定的端點附近的連接器,然後選擇鏈接到元素特徵。

相關問題