这篇文章将为大家详细讲解有关EA画UML活动图中异常是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
UML和很多语言一样,都有异常处理机制。当系统发生不正常的情况时,处理机制会中断正常的处理流程,然后由内向外寻找异常处理器并激活它。
语义
异常表示一种非正常情况的发生阻止了正常的执行过程。它通常是系统底层在应对执行过程中出现的故障时所产生的。这种场景下的异常处理是一种被动的活动;也有另外一种场景,作为错误处理的一种方式,异常由一个动作(RaiseExceptionAction)显式的抛出。
示例
这里仍然以解一元二次方程的流程举例。
内部的活动SolveEquationImpl中故意制造了两个会发生异常的场景:
a!=0,delta <0
a==0,b==0
然后在SolveEquationImpl的处理外面增加了一个异常处理器,并将二者用中断流(闪电形箭头)连接起来。可以看下面的放大图。
这种连接方式就表示,如果SolveEquationImpl活动中发生了MathException类型的异常,该处理器就会被激活。这里还有一个默契:Create NullSolution拥有和它所保护SolveEquationImpl活动同样的输出参数(类型,数量),当异常处理结束后,它的输出会替代受保护的SolveEquationImpl的输出。只有这样后续处理才会像异常根本就没有发生一样继续进行。
需要补充说明的是如果发生的不是MathException类型(或派生类型)的异常,处理机制会继续在本层次中寻找合适的异常处理器,如果还是没有找到,就会到上一个运行层次(这里就是SolveEquation的层次)寻找,如果系统的最外层还是没有找到的话,系统可能崩溃。
画法
增加终端流和异常处理器都是通过拖动活动图工具栏上的对应图标到活动图中来实现的。
异常处理器
中断流
最后
比较一下SolveEquationImpl和下面的例子,应该可以发现处理简化了不少。
同时,因为可以选择适当的层次进行异常处理,这也增加了灵活性。
关于“EA画UML活动图中异常是什么意思”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。