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