可透過下列方式在協調流程中產生例外狀況:
透過 擲回例外狀況 圖形,它會立即且無條件地擲回例外狀況。 控制項會直接從 擲回例外狀況 圖形傳遞至適當的例外狀況處理常式。
透過在長時間執行之交易中過期的逾時。 在此情況下會擲回預先定義的系統例外狀況-Microsoft.XLANG.BaseTypes.TimeOutException。
透過某個其他的交易失敗。 執行階段引擎會針對這些失敗擲回系統定義的訊息,例如 Microsoft.XLANG.BaseTypes.PersistenceException。
透過使用者程式碼例外狀況。 在協調流程內進行外部使用者程式碼的呼叫時,所呼叫的 Common Language Runtime 類別可擲回例外狀況。 如果使用者程式碼中未處理這些例外狀況,這些例外狀況最後會往上傳播到呼叫使用者程式碼的範圍。
透過某個其他系統例外狀況 (例如,持續性失敗、類似型別載入器例外狀況的另一個 .NET 或系統例外狀況,或是資料轉換錯誤)。
注意
擲回類型載入器例外狀況時,可能無法在相同範圍圖形的Catch Exception區塊中攔截例外狀況。 這是因為此例外狀況是來自於型別載入器,而不是來自於 BizTalk 協調流程處理。 因此,它不會遵循 BizTalk 控制流程規則。
根據周圍範圍終止執行中的同層級分支。 在此情況下,會將 Microsoft.XLANG.BaseTypes.ForcedTerminationException 擲回給每一個分支,而且您可能會想要對每一個分支加入例外狀況處理常式。 這類例外狀況處理常式無法重新擲回其例外狀況,也不應該嘗試擲回任何其他類型的例外狀況。
透過接收指示錯誤的外部訊息。