コラボレーション例外とは

コラボレーション API には、コラボレーションで発生する例外を表現するための、例外オブジェクト が用意されています。

図 55 に示すように、この例外オブジェクトは、例外を発生させた条件についての情報を含んでいます。

図 55. CollaborationException 例外オブジェクト


この例外オブジェクトは、CollaborationException クラスのインスタンスで、このクラスは Java Exception クラスの拡張です。表 43 に、例外オブジェクト内の情報を取得するために CollaborationException クラスに用意されている accessor メソッドを示します。


表 43.
例外オブジェクト内の情報
メンバー accessor メソッド
例外タイプ getType()
例外サブタイプ getSubType()
メッセージ・テキスト getMessage()toString()
メッセージ番号 getMsgNumber()

注:
例外が発生すると、コラボレーション・ランタイム環境により、currentException と呼ばれるシステム変数に例外についての情報が設定されます。

currentException 変数は CollaborationException クラスのインスタンスです。

したがって、表 43 のメソッドを使用して、currentException 変数から例外情報を取得できます。

コラボレーション例外の原因を識別するために、例外オブジェクトには、表 44 にリストされている例外タイプ の 1 つが含まれています。

例外タイプは、Java 静的定数で宣言されたストリング値です。

表 44. 例外タイプ
例外タイプ定数 説明
AnyException 任意のタイプの例外。2 つの例外分岐があり、1 つは特定タイプの例外をテストし、もう 1 つはAnyException をテストする場合、特定タイプの例外をテストする分岐が先に検査されます。現在の例外が特定の例外と一致しない場合、AnyException についてテストする分岐が次に検査されます。
AttributeException 属性のアクセス問題。例えば、コラボレーションが、String 属性に対して getDouble() を呼び出す場合や、存在しない属性に対して getString() を呼び出す場合など。
JavaException コラボレーション API の一部ではない Java コードに関する問題。
ObjectException メソッドに渡された無効なビジネス・オブジェクト。
OperationException サービス呼び出しが適切に設定されませんでした。あるいは送信されませんでした。
ServiceCallException コラボレーション以外の理由によって失敗したサービス呼び出し。例えば、コネクターまたはアプリケーションが使用できない場合や、ネットワークに障害がある場合など。
SystemException InterChange Server Express システムの内部エラー。
TimeoutException 同期または非同期インバウンド・サービス呼び出しのタイムアウト。
TransactionException トランザクション・コラボレーションの、トランザクションの振る舞いに関連するエラーです。例えば、ロールバックに失敗しました。あるいは、コラボレーションが差し戻しを適用できませんでした。

注:
決定ノードで例外分岐を定義する場合、例外分岐の条件で検査する例外タイプを指定します。詳細については、例外のキャッチを参照してください。

これらの例外タイプの一部には、例外を発生させる多くの状態があります。このような例外タイプの場合、例外オブジェクトに通常、例外サブタイプ が含まれ、例外の原因についての追加情報が提供されます。例外サブタイプを使用する 2 つの主な例外タイプは、JavaExceptionServiceCallException です。詳細については、getSubType()を参照してください。

Copyright IBM Corp. 2004