Rational® ClearQuest® API のメソッドとプロパティでは、多くの場合、ユーザーは戻り値をチェックして、呼び出しからエラーが戻されているかどうかを検証する必要があります。
if (!defined($result)) { ... };
を使用できます。例えば、Entity オブジェクトの SetFieldValue メソッドは、文字列値を戻すように定義されています。 このメソッドは、フィールドへの変更が許可されていて操作が正常に終了した場合、空の文字列を戻します。それ以外の場合で操作が失敗した場合、このメソッドは、エラーの説明を含む文字列を戻します。
エラーの原因を突きとめるには、コードで戻り値をチェックする必要があります。例を次に示します。
strRetVal = SetfieldValue ("Invalid_field", "Invalid value")
If "" <> strRetVal Then
REM handle the error
End If
誤ったフィールドが指定された場合、エラーが戻されます。 例を次に示します。
The Defect SAMPL00000123 does not have a field named "Invalid_field".
# trap exceptions and error message strings
# ...
eval { $RetVal = ${$CQEntity}->Validate(); };
# EXCEPTION information is in $@
# RetVal is either an empty string or contains a failure message string
if ($@){
print "Exception: '$@'¥n";
# other exception handling goes here...
}
if ($RetVal eq "")
{# success...
}
else {
# failure...
# return the message string here...
}
VBScript の場合は、例外のトラップに On Error ステートメントを使用します。 詳細については、VBScript のエラー処理 と Perl のエラー処理 を参照してください。アクション コミット フック例 に、Commit メソッドを呼び出すときの、エラーおよび例外の処理の例を示します。