Gestione degli errori VBScript

Quando nelle routine dell'API Rational ClearQuest si verificano condizioni impreviste, 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.

Utilizzare i metodi standard per la gestione degli errori VBScript utilizzando l'istruzione VBScript On Error. È quindi possibile esaminare l'oggetto errore Err e analizzare gli errori in qualsiasi momento. Ad esempio:
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".

Gestione dei valori di ritorno VARIANT

Per VBScript, alcune proprietà e metodi riportano un valore VARIANT che dovrebbe contenere un vettore di oggetti o stringhe. Se il vettore non contiene elementi, il valore VARIANT avrà semplicemente un valore di EMPTY. Un valore vuoto non viene considerato come vettore e se si tenta di iterare su qualcosa che non sia un vettore, viene considerato una discordanza di tipo. È necessario verificare tale valore con le funzioni IsEmpty o IsArray prima di applicarvi qualsiasi funzione relativa al vettore. 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 


Feedback