例外の原因
次のような場合、オーケストレーション内で例外が生成されることがあります。
例外 を直 ちに無条件にスローする例外のスロー図形。 コントロールは、例外の スロー 図形から適切な例外ハンドラーに直接渡されます。
長時間トランザクションで、タイムアウトが超過した場合。 この場合、定義済みのシステム例外 Microsoft.XLANG.BaseTypes.TimeOutException がスローされます。
その他のトランザクション エラーが発生した場合。 これらのエラーには、Microsoft.XLANG.BaseTypes.PersistenceException などのシステム定義のメッセージがランタイム エンジンによりスローされます。
ユーザー コードの例外が発生した場合。 オーケストレーション内で外部のユーザー コードを呼び出したとき、呼び出された共通言語ランタイム クラスが例外をスローすることがあります。 こうした例外がユーザー コード内で処理されないと、最終的には、ユーザー コードを呼び出したスコープまで例外が反映されます。
その他のシステム例外が発生した場合 (永続化エラー、型のローダーの例外などの .NET またはシステム例外、データ変換エラーなど)。
Note
型ローダー例外がスローされると、同じスコープ図形の Catch Exception ブロックで例外がキャッチされない場合があります。 これは、例外が、BizTalk オーケストレーション プロセスではなく型のローダーからスローされるためです。 よって、BizTalk の制御フローのルールが適用されません。
前後のスコープ内の兄弟分岐によって実行が停止された場合。 この場合、各分岐に Microsoft.XLANG.BaseTypes.ForcedTerminationException がスローされるため、それぞれに例外ハンドラーを追加することをお勧めします。 このような例外ハンドラーでは、その例外を再スローできません。また、他の種類の例外をスローしようとしないでください。
エラーを示す外部メッセージを受信した場合。