Wenn die Routinen in der Rational ClearQuest-API unerwartete Bedingungen feststellen, wird eine Ausnahmebedingung ausgelöst. Wenn die Ausnahmebedingung nicht vom aufrufenden Programm abgefangen wird, beendet der Sprachinterpreter das Programm. Besteht die Möglichkeit, dass der Aufruf der Rational ClearQuest-API fehlschlägt, sollten Ausnahmebedingungen abgefangen und bearbeitet werden.
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
...
Eine Anweisung GoTo können Sie bei Visual Basic verwenden, jedoch nicht
bei VBScript. Beispiel:
' VB exception handling example
On Error GoTo HandleError
fieldValue = record.GetFieldStringValue(fieldname)
...
HandleError:
StdOut "Got error number " & Err.Number & ":"
StdOut Err.Description
Einige Funktionen, die erwartungsgemäß häufig fehlschlagen, bilden hierzu eine Ausnahme. Insbesondere validate- und set field-Funktionen geben Fehleranzeiger an Stelle von Ausnahmebedingungen zurück. Weitere Informationen finden Sie im Abschnitt "Fehlerprüfung und Validierung".
Bei VBScript geben einige Eigenschaften und Methoden einen VARIANT-Wert zurück, der ein Array von Objekten oder Zeichenfolgen enthalten sollte. Wenn das Array Nullelemente enthält, lautet der VARIANT-Wert EMPTY. Ein leerer Wert wird nicht als Array/Matrix angesehen, und wenn Sie eine Iteration für eine Struktur durchführen, die kein Array ist, wird dies als fehlende Typenübereinstimmung interpretiert. Überprüfen Sie einen solchen Rückgabewert mit der Funktion IsEmpty oder IsArray, bevor Sie auf Arrays bezogene Funktionen darauf anwenden. Beispiel:
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