実行時にオーケストレーションのアクティビティーのいずれかが例外をスローする場合、グローバル例外ハンドラーが有効になっていれば、グローバル CatchAll ブランチが実行されます。
このタスクについて
オーケストレーションの例を以下の図に示します。
この例では、「データベースへの挿入 (Database Get Inserted)」アクティビティーまたは「データベース行の挿入 (Database Insert Rows)」アクティビティーが失敗して例外をスローすると、CatchAll ブランチの「If..Then」アクティビティーが実行されます。
手順
- オーケストレーションの「開始」アイコン
を右クリックして、メニューから「catchAll ブランチの追加」オプションを選択します。オーケストレーションに CatchAll ブランチが追加され、以下の変数が自動的に作成されます。
- 前の図で示すように、「アクティビティー」タブから CatchAll ブランチにアクティビティーをドラッグ・アンド・ドロップして、CatchAll ブランチを構成します。
タスクの結果
注: faultName、faultData、faultInfo の各変数のスコープは、CatchAll ブランチに限定されています。
このスコープ制限からすると、これらの変数の値が有効であることが保証されているのは、CatchAll ブランチの中に限られます。
例えば、faultName 変数をテストする「If...Then」アクティビティーを追加する場合は、前の図にあるように、その「If...Then」アクティビティーを CatchAll ブランチの中に配置する必要があります。