Wenn die Routinen in der Rational-ClearQuest-API unerwartete Bedingungen feststellen, wird eine Ausnahmebedingung ausgegeben. 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