VBScript のエラー処理

Rational® ClearQuest® API のルーチンによって予期しない状態が検出された場合、そのルーチンから例外がスローされます。例外が呼び出し側プログラムでキャッチされない場合は、言語インタープリタによりプログラムが終了させられます。Rational ClearQuest API 呼び出しが失敗する可能性がある場合は、例外をキャッチして処理する必要があります。

通常、VBScript エラーを処理するには、VBScript の On Error ステートメントを使用します。その後は随時 Err エラー オブジェクトを確認して、エラーを分析できます。次に例を示します。
On Error Resume Next
Err.Clear
' perform some operation here...
if  Err.Number <> 0  then   
   ' An exception occurred
    StdOut "Exception:" & vbCrLf &_
        "    Error number: " & Err.Number & vbCrLf &_
        "    Error description: '" & Err.Description & vbCrLf
	...
Visual Basic では GoTo ステートメントを使用できますが、VBScript では使用できません。例を次に示します。
' VB exception handling example
	On Error GoTo HandleError
	fieldValue = record.GetFieldStringValue(fieldname)
	...
	HandleError:
	StdOut "Got error number " & Err.Number & ":"
	StdOut Err.Description

これに対する例外として、一般的に失敗することが予期されている関数がいくつかあります。特に、フィールドを検証する関数とフィールドを設定する関数は、例外をスローする代わりにエラー通知を戻します。詳しくは、「エラーのチェックと検証」を参照してください。

VARIANT 戻り値の処理

VBScript の場合、一部のプロパティとメソッドは VARIANT 値を戻します。この値には、オブジェクトまたは文字列の配列が含まれます。配列のエレメントがゼロの場合、VARIANT 値は単に EMPTY となります。空の値は配列とみなされないため、配列でない値を繰り返そうとすると、タイプ不一致とみなされます。このような戻り値は、配列関連の関数を適用する前に、IsEmpty 関数または IsArray 関数を使用してチェックすることをお勧めします。例を次に示します。

fieldObjs = GetInvalidFieldValues
' Check the return value
If (IsArray(fieldObjs)) Then 
   For Each fieldInfo In fieldObjs
      fieldValue = field.GetValue
      fieldName = field.GetName
      currentsession.outputdebugstring "This is the fieldvalue " & fieldvalue
   Next
Else
      currentsession.outputdebugstring "This is not an array or it is empty" 
End If 

フィードバック