Seq Diagram Drawing try catch block in UML

对着背影说爱祢 提交于 2019-12-01 03:34:04

问题


I have a question, how can I draw try catch block in sequence diagram in UML? Can I draw the try as the normal case and the catch as the alternative case or no?

I'm using Visio to dram the UML sequence diagrams.


回答1:


UML sequence diagram lacks of being able to visualize exceptions. There are "workarounds" however, please refer to:

  • Break
  • Sequence Diagrams: Questions & Answers
  • Stackoverflow answer



回答2:


There is no standard way to model exception handling in a sequence diagram. Here is how I handle it:

The above diagram is generated with Web Sequence a free (open source) chrome extension. You can get it from here: https://chrome.google.com/webstore/detail/web-sequence/kcpganeflmhffnlofpdmcjklmdpbbmef or from the official site: https://www.zenuml.com . To test it out, you can simply paste the following code into the code editor of the above plugin or on the site.

JobTask.Run() {
  try() {
    Action.Execute() {
      InternalException.throw()
    }
  }
  InternalException.Catch() {
    Logger.Error()
    HighLevelException.throw()
  }
}

It demonstrates that we have a try block. Within this block, we execute Action.Execute() in which InternalException could be thrown. Then we catch it, log an error and rethrow a HighLevelException, which is a quite typical exception handling strategy.



来源:https://stackoverflow.com/questions/26822109/seq-diagram-drawing-try-catch-block-in-uml

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!