您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。