Quando le routine nell'API Rational ClearQuest rilevano condizioni non previste, viene generata un'eccezione. Se l'eccezione non viene accettata dal programma chiamante, il programma di interpretazione del linguaggio termina il programma. Se c'è una possibilità che la chiamata dell'API Rational ClearQuest non riesca, è necessario accettare e gestire le eccezioni.
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
...
È possibile utilizzare un'istruzione GoTo per Visual Basic
ma non per VBScript. Ad esempio:' VB exception handling example
On Error GoTo HandleError
fieldValue = record.GetFieldStringValue(fieldname)
...
HandleError:
StdOut "Got error number " & Err.Number & ":"
StdOut Err.Description
Diverse funzioni che, solitamente, non riescono correttamente sono eccezioni. In particolare, convalidare e impostare le funzioni campo che riportano indicazioni di errore invece di generare eccezioni. Per ulteriori informazioni, consultare "Verifica errori e convalida".
Per VBScript, alcune proprietà e metodi riportano un valore VARIANT che dovrebbe contenere un array di oggetti o stringhe. Se l'array non contiene elementi, il valore VARIANT avrà semplicemente un valore di EMPTY. Un valore vuoto non viene considerato come array e se si tenta di iterare su qualcosa che non sia un array, viene considerato una discordanza di tipo. È necessario verificare tale valore con le funzioni IsEmpty o IsArray prima di applicarvi qualsiasi funzione relativa all'array. Ad esempio:
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