Seq Diagram Drawing try catch block in UML

前端 未结 2 513
失恋的感觉
失恋的感觉 2021-01-05 07:27

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

相关标签:
2条回答
  • 2021-01-05 07:36

    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.

    0 讨论(0)
  • 2021-01-05 07:44

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

    • Break
    • Sequence Diagrams: Questions & Answers
    • Stackoverflow answer
    0 讨论(0)
提交回复
热议问题