次の方法で共有


例外の原因

次のような場合、オーケストレーション内で例外が生成されることがあります。

  • 例外 を直 ちに無条件にスローする例外のスロー図形。 コントロールは、例外の スロー 図形から適切な例外ハンドラーに直接渡されます。

  • 長時間トランザクションで、タイムアウトが超過した場合。 この場合、定義済みのシステム例外 Microsoft.XLANG.BaseTypes.TimeOutException がスローされます。

  • その他のトランザクション エラーが発生した場合。 これらのエラーには、Microsoft.XLANG.BaseTypes.PersistenceException などのシステム定義のメッセージがランタイム エンジンによりスローされます。

  • ユーザー コードの例外が発生した場合。 オーケストレーション内で外部のユーザー コードを呼び出したとき、呼び出された共通言語ランタイム クラスが例外をスローすることがあります。 こうした例外がユーザー コード内で処理されないと、最終的には、ユーザー コードを呼び出したスコープまで例外が反映されます。

  • その他のシステム例外が発生した場合 (永続化エラー、型のローダーの例外などの .NET またはシステム例外、データ変換エラーなど)。

Note

型ローダー例外がスローされると、同じスコープ図形の Catch Exception ブロックで例外がキャッチされない場合があります。 これは、例外が、BizTalk オーケストレーション プロセスではなく型のローダーからスローされるためです。 よって、BizTalk の制御フローのルールが適用されません。

  • 前後のスコープ内の兄弟分岐によって実行が停止された場合。 この場合、各分岐に Microsoft.XLANG.BaseTypes.ForcedTerminationException がスローされるため、それぞれに例外ハンドラーを追加することをお勧めします。 このような例外ハンドラーでは、その例外を再スローできません。また、他の種類の例外をスローしようとしないでください。

  • エラーを示す外部メッセージを受信した場合。

参照

エラー メッセージ
例外