【发布时间】:2011-01-13 08:44:01
【问题描述】:
嗨, 我最近正在对 UML 的某个项目进行逆向工程,并且陷入了无法得出结论的地步。代码相当简单:
...
try
{
sj = SendingJob.DeserializeXmlString("....");
trcSrc.TraceInfo("....");
}
catch (FormatException)
{
trcSrc.TraceError("....");
return "00 - Job Content Bad Format.";
} ...
首先我将代码建模为:
但是看完下面的文字后:
"如果动作执行过程中发生异常,则放弃执行,动作没有输出。如果动作有异常处理程序,则处理程序连同异常信息一起执行。当异常发生时处理程序执行时,其输出可用于受保护节点之后的下一个操作,就好像受保护节点已完成执行一样。"
...但问题是我的异常处理程序通过返回一个值退出了 catch 块,并停止了活动。我试图将异常节点链接到活动最终节点,但我的工具拒绝这样做,而且我很确定这不是正确的做法。
所以我的问题是: 如何建模一个动作抛出异常并且其处理程序终止该活动的活动图?
【问题讨论】:
-
顺便提一下,引用的内容概括地来自于UML 2.0一书,可以在flylib.com/books/en/4.282.1.66/1找到
标签: uml activity-diagram