次の方法で共有


例外ブロックをキャッチする

Catch Exception ブロックは、例外ハンドラーを表します。 Catch Exception ブロックは、オーケストレーション Designerの [スコープ] 図形の末尾にアタッチされます。 BizTalk Serverでは、Catch Exception ブロックを必要な数だけアタッチできます。

例外ハンドラーを設定すると、各種の例外を処理することができます。 各例外ハンドラーで、例外の種類を指定します。例外の種類は、エラー メッセージまたは クラス System.Exceptionから派生したオブジェクトである必要があります。 例外の種類を指定しない場合、例外ブロックは一般的な例外ハンドラーとして扱われ、 から System.Exception派生していない例外をキャッチできます。

例外ハンドラで指定した型に一致する例外がスローされると、該当する例外ハンドラが呼び出されます。 その他の型の例外がスローされた場合、その例外は既定の例外ハンドラによって処理されます。

Note

Catch Exception ブロックを Scope 図形に追加するには、Scope 図形の Transaction Type プロパティを None または Long Running に設定する必要があります。

例外のキャッチ ブロックの追加と設定

例外のキャッチ ブロックを追加して設定するには

  1. Catch Exception ブロックを追加する [スコープ] 図形を右クリックし、[新しい例外ハンドラー] をクリックします。

    Catch Exception ブロックは、関連付けられた Scope 図形の直後のオーケストレーションに追加されます。

  2. [ プロパティ ] ウィンドウで、プロパティを指定します。 最も重要なプロパティは Exception オブジェクト型 です。これは、キャッチするメッセージの種類であるためです。

    プロパティ 説明
    例外オブジェクト名 例外ハンドラーでキャッチする例外オブジェクトに名前を割り当てます。
    例外オブジェクト型 この例外ハンドラーでキャッチするオブジェクト型 (System.Exception から派生) を決定します。
  3. [ プロパティ ] ウィンドウで、[ 例外オブジェクトの種類 ] の一覧をクリックします。 この一覧には、アダプタによってスローされる一般的な例外が含まれています。

    名前は、バックエンド システムへのポートで設定したエラーとして表示されます (たとえば PS.SQLExecute.Fault)。

  4. 例外オブジェクト名の名前を追加します (例: Test)。

    例外の キャッチ ブロック内に、例外を処理するプロセスを作成する図形を追加します。

    1. [例外のキャッチ] の下を右クリックし、[図形の挿入] をポイントして、[メッセージの作成] を選択します。

      [メッセージの構築] メニュー オプションを示すスクリーンショット。

    2. MessageAssignment 内をダブルクリックしてテキスト エディターを開き、メッセージの割り当てを入力します。

      [例外のキャッチ] から [例外オブジェクト名] に設定した名前と、エラー用に作成した新しいメッセージを入力します。

      たとえば、「 Message_3 = Test」と入力します。

      MessageAssignment を選択する場所を示すスクリーンショット。

参照