例外処理

Virtual member manager は、エラー状態を例外という形でその呼び出し側に報告します。

Virtual member manager は、イベントを生成することも、通知に応答することもありません。 Virtual member manager は、エラーをログに記録し、エラー状態を例外という形でその呼び出し側に報告します。 その中には、リポジトリー固有のエラー・コードとリポジトリー情報が含まれます。ほとんどの場合、例外は元の呼び出し側に報告されます。 Virtual member manager で生成されたさまざまな種類のエラーまたは例外を報告するために、WIMException というサブクラスが作成されます。リポジトリーまたはレジストリーが使用できないために例外が生成されても、再試行コード (自動リカバリー) がある場合は、例外が即時にスロー・バックされることはありません (ただし、ログには記録されます)。再試行が失敗すると例外がスローされ、問題を修正するためのユーザー処置が必要になります。

WIMException は WMMException を置き換え、WMMException によって提供されたメソッドをすべて提供します。アダプターやプロバイダーはこれらのメソッドを利用できます。 ただし、後方互換性を維持するために、WIMException は、WMMExceptions を WIMExceptions に変換したり、WIMExceptions を WMMExceptions に変換し直したりする WebSphere Member Manager ブリッジによって WMMException との互換性を持つようになっています。

リポジトリーの例外

リポジトリーによってスローされた例外は、エラー・コードまたはエラー・メッセージ (あるいはその両方) を取り出すためのメソッドを含む場合があります (他に例外に固有なメソッドもあります)。アダプターは、こうしたメソッドを使用して WIMException またはそのサブクラスを構成し、次の情報を設定します。
cause
リポジトリーによってスローされた例外が明示されるか、リポジトリーで例外が生成されなかった場合はヌルになります。 Virtual member manager は、例外が Virtual member manager のさまざまなコンポーネント上を移動するときに JDK 1.4 の例外チェーニング機能を使用して例外のチェーンを構築します。
rootErrorCode
リポジトリー固有の整数エラー・コードを明示します。通常は、リポジトリーによって戻される実際のエラー・コードです。リポジトリーによって例外がスローされた、あるいはエラー・メッセージが戻された場合は、例外の問題を分析するために根本原因をトレース・ファイルに記録できるように、アダプターがその例外からエラー・コードを取り出して、生成される WIMException で根本原因を設定する必要があります。エラー・コードが設定されたら、そのエラー・コードが上書きされないようにしてください。
rootErrorMessage
リポジトリー固有のエラー・メッセージを明示します。通常は、リポジトリーによって戻される実際のエラー・メッセージです。リポジトリーによって例外がスローされた場合は、例外の問題を分析するために根本原因をトレース・ファイルに記録できるように、アダプターがその例外からエラー・メッセージを取り出して、生成される WIMException で根本原因を設定する必要があります。エラー・メッセージが設定されたら、そのエラー・メッセージが上書きされないようにしてください。
rootErrorSource
エラーの発生源としてリポジトリーを一意的に特定するために使用されるリポジトリー ID ストリングを明示します。
またアダプターは、(JSR-47 API を使用して) 例外、 エラー・コード、およびエラー・メッセージをその元の形で Virtual member manager のログ・ファイルに記録します。すべてのアダプターは同じログ・ファイルに書き込みを行います。トレーシングがオンの場合は、エラー・メッセージをトレース・ファイルに記録することもできます。各アプリケーションは、例外をそれぞれのアプリケーションのログ・ファイルに記録します。

Virtual member manager のさまざまなレイヤーを通過している間に、例外が別の例外にラップされた場合は、rootErrorCode、rootErrorMessage、 および rootErrorSource が元の例外からコピーされ、cause がその時点のレイヤーで受け取られた例外に設定されます。

アダプターは、Virtual member manager 固有の例外 (WIMException またはそのサブクラス) によってエラー状態を Virtual member manager に通知します。アダプターによって作成された WIMException は、リポジトリーによって戻されるエラーを設定するメソッドを提供して、低レベルのエラー・コードまたはメッセージ (あるいはその両方) がアダプターから呼び出し側に伝わるようにします。

場合によっては、エラー・コードを戻すのではなく、リポジトリーがエラー・メッセージまたはエラー・メッセージを含む例外を戻すことがあります。このエラー・メッセージにエラー・コードが含まれている場合があります。アダプターはエラー・コードまたはエラー・メッセージを抽出して、WIMException 内に設定する必要があります。 Virtual member manager で定義された例外はすべて WIMException のサブクラスであり、 例外固有のメソッドを追加する場合があります。



利用条件 | フィードバック