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