例外

すべての問題は、WVCM によって 定義されている例外オブジェクトのサブクラスである例外オブジェクトによって 報告されます。クライアントは、そのような例外から以下の 情報を入手することができます。

各操作には、一連の前提条件が定義されていて、操作が成功するには、それらの条件 が満たされていなければなりません。例えば、プロパティが読み取りの対象となるリソースは 存在していなければならない、作成するリソースと同じ名前のリソースが存在していてはならない、 チェックアウトするリソースはバージョン管理されていて、チェックインされていなければならない、といった条件があります。 このような前提条件に対する違反があると、操作は例外をスローすることになります。

操作は、リソースのコレクションに適用されることがよくあります。リソースのうちの 1 つで操作 が失敗すると、例外がスローされます (例外オブジェクトで成功も報告されます)。

リソースのプロパティまたはメタプロパティの読み取りあるいは書き込み中にサーバーで問題があっても、Rational® CM API 操作は例外をスローしません。 代わりに、戻されるプロキシ内で プロパティと例外が関連付けられます。問題のそのプロパティ値をクライアントがプロキシ から抽出しようとしたときにのみ、例外がスローされます。クライアントは、プロパティ値を抽出する前に、プロキシを調べて、 問題の有無を判別し、スローされることなく例外を取得することも可能です。プロパティに関する追加情報を参照してください。

Rational CM API に組み込まれている主要な例外のタイプは次のとおりです。

StpException

StpException は、 WvcmException の拡張で、Rational CM API がスローするすべてのチェック例外の基本クラスです。WVCM で定義されたメソッドのすべての実装 は、WvcmException をスローします。WVCM の拡張である、Rational CM API のすべての public メソッドも WvcmException をスローします。ただし、これらのすべてのメソッドの 実装は、WvcmException ではなく、一貫して StpException のみを スローします。以下の規則が適用されます。
  • StpException のスローは、メソッド宣言で使用されることは ありません (public でも、そうでない場合も)。メソッドが StpException をスロー する場合でも、そのメソッドは WvcmException をスローするかのように宣言されます。
  • メソッドは、新規 WvcmException をスローすることは決してありません。例外は、 WvcmException として表されている場合でも、常に新規 StpException としてスローされます。

StpPropertyException

StpPropertyException は、StpExtension を拡張したもので、 リソース プロパティの読み取りまたは書き込みに関連するエラーの基本例外クラス です。

プロパティ値がサーバーから要求された後、その名前が結果と関連付けられ、プロキシに保管 されます。その名前は、値の取得が成功した場合は取得した値と関連付けられ、 取得が成功しなかった場合は状況情報と (StpPropertyException オブジェクトの 形式で) 関連付けられます。

StpPartialResultsException

StpPartialResultsException は、 StpPropertyException を拡張したものであり、複数のリソースに関係する操作または プロパティでの障害を報告するために使用されます。これは、操作またはプロパティによって通常 戻される ResourceList の代わりになります。これには、ResourceList (正常に処理されたリソースのプロキシを保持する) と、 StpException のリスト (このリスト中のそれぞれが、操作が失敗した 1 つのリソースに 対応している) が含まれています。詳細については、Javadoc 情報を参照してください。


フィードバック