例外処理用の特殊なハンドラーを提供するには、TryCatch ノードを使用します。
このトピックには、以下のセクションが含まれています。
まず入力メッセージは、Try ターミナルにルーティングされます。これは、メッセージ・フローのエラー処理ノードではない残りのノードに接続する必要があります。 ダウンストリーム・ノード (Throw ノードの可能性があります) から例外がスローされると、 TryCatch ノードはそれをキャッチして、オリジナル・メッセージをその Catch ターミナルにルーティングします。 Catch ターミナルを別のノードに接続して、例外の後にメッセージのエラー処理を行えるようにします。 Catch ターミナルが接続している場合、メッセージはそこに伝搬されます。 Catch ターミナルが接続していない場合、メッセージは廃棄されます。
TryCatch ノードはパレットの「構造」ドロワーに含まれていて、ワークベンチ内では次のアイコンによって表されます。
Compute ノードを使用して合計を計算するときに Throw および TryCatch ノードを使用します。 計算された合計が「Total」フィールドの最大値を超えるときにシステム管理者に送信されるメッセージを作成できます。
TryCatch ノードには、その操作に影響を与える構成可能なプロパティーがありません。 出力ターミナルをメッセージ・フロー内の後続のノードに接続することによって、作動方法を決定します。
メッセージ・フローで例外がスローされる場合には、 Throw ノードまたは ESQL THROW ステートメントを明示的に使用するか、 メッセージ・フローが処理するようにプログラムされていないエラーが検出された場合にブローカーが暗黙的な例外を発生することにより、 制御が TryCatch ノードに戻ります。
メッセージは Catch ターミナルを経由して伝搬され、設計したエラー処理が実行されます。 このターミナルを経由して伝搬されたメッセージには、例外がスローされたポイントにおける内容が入っています。 それには、ExceptionList の例外についての詳しい説明も含まれます。
TryCatch ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。ノードのプロパティーを「プロパティー」ダイアログに表示するには、ノードをダブルクリックするか、またはノードを右クリックしてから「プロパティー」をクリックします。
TryCatch ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
In | ノードが処理するメッセージを受け入れる入力ターミナル。 |
Catch | 例外がダウンストリームでスローされ、ノードによってキャッチされた場合に メッセージが伝搬される出力ターミナル。 |
Try | キャッチされない場合に、メッセージが伝搬される出力ターミナル。 |
以下の表では、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、アスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できます)。
TryCatch ノードの「説明」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ノード名 | いいえ | いいえ | ノード・タイプ: TryCatch | ノードの名前。 |
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |