2011-01-13 51 views
5

HI, 我最近正在將某個項目逆向工程爲UML,並且陷於了一個我無法得出結論的地步。該代碼是相當簡單:關於UML 2.0中異常處理的不確定性活動圖

  ... 
      try 
      { 
       sj = SendingJob.DeserializeXmlString("...."); 
       trcSrc.TraceInfo("...."); 
      } 
      catch (FormatException) 
      { 
       trcSrc.TraceError("...."); 

       return "00 - Job Content Bad Format."; 
      } ... 

Firts關我模仿的代碼,例如:


alt text


但是看完下面的文字後:

「如果在某個行動發生時發生異常,執行被放棄,並且沒有輸出。如果該操作具有異常處理程序,則該處理程序將與異常信息一起執行。 當異常處理程序執行時,其輸出可用於受保護節點之後的下一個操作,就像受保護節點已完成執行一樣。

...但事情是我的異常處理程序通過返回一個值,並停止活動退出catch塊。我試圖異常節點鏈接到活動最後一個節點,但我的工具拒絕。做到這一點,並且我敢肯定是不這樣做的正確方法

所以我的問題是: 如何模型,其中動作拋出一個異常的活動圖和它的處理程序終止活動

+0

順便說一下,這個引用來自UML 2.0這本書,簡而言之,它可以在http://flylib.com/books/en/4.282.1.66/1/ – CSharpenter 2011-01-13 10:13:55

回答

3

由於我不允許發佈圖片,我會盡力描述我的解決方案:) 在你除了離子處理程序,包括一個代表它做什麼的動作。然後,您可以將該操作鏈接到活動圖的終止節點。

+0

找到。有趣的是,從來沒有它的存在那個方向。感謝您的回覆,我肯定會在等待這麼多時間回答我的問題之後再嘗試。再次感謝。 – CSharpenter 2012-05-07 11:57:10