標籤:style 使用 java sp 代碼 on c 工作 line
webMethods的flowService是一種典型的工作流程模式編程,因此有一些使用會和代碼不一樣。出於這樣的原因,本人對flowService的活用做了一些測試。
一、遞迴
在flowService中調用自身。
測試結果:可以實現遞迴功能,同編碼一樣。需要指定跳出條件,不然會有死迴圈的編譯錯誤。
二、 exit
exit功能有三種用法跳出迴圈(相當於java中的break),跳出flow(相當於exit()),跳到父節點(相當於continue)。
用好這三種功能可以很好地控製程序的結束方式。
三、 try-catch-finally的實現
在工作流程中實現try-catch-finally是一件比較有意思的事情,通過圖形化的步驟可以很清晰地瞭解到try-catch-finally的設計思路和實現原理。
首先要定義一個main,這個main的sequence中exit from屬性設定成為success ,這樣就可以保證這個sequence就算髮生錯誤也可以跑到catch程式裡面去擷取異常,而不是直接報錯,停止運行了。try和catch是main下的子sequence,分別設定exit from屬性為failure和done。failure屬性是正常的sequence中exit from的預設屬性,當這個sequence發生錯誤的時候會自動停止向下運行,直接跳出sequence。而done屬性則是只有當該sequence上面的程式發生異常的時候才會跑進來的,因此正是捕獲異常專用的條件。最後是finally,finally與main同級,在main下面。設定成failure或者success都可以,看情況而定。
這個與java的區別在於,java中會在try或者catch的結束點執行之前先執行一次finally,而webMethods中則是在trycatch結束點之後執行finally。
webMethods中有趣的嘗試【一】