例外

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

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

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

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

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

StpException

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

StpPropertyException

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

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

StpPartialResultsException

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


フィードバック