Traitement des erreurs VBScript

Lorsque les routines de l'API Rational ClearQuest détectent des conditions imprévues, elles émettent une exception. Si l'exception n'est pas interceptée par le programme appelant, l'interpréteur de langage met fin au programme. S'il y a des risques que l'appel de l'API Rational ClearQuest échoue, vous devez intercepter et traiter les exceptions.

Appliquez les méthodes standard de traitement des erreurs VBScript en utilisant l'instruction On Error de VBScript. Vous pouvez ensuite examiner l'objet erreur Err et analyser les erreurs à tout moment. Par exemple :
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
	...
Vous pouvez utiliser une instruction GoTo pour Visual Basic, mais pas pour VBScript. Exemple :
' VB exception handling example
	On Error GoTo HandleError
	fieldValue = record.GetFieldStringValue(fieldname)
	...
	HandleError:
	StdOut "Got error number " & Err.Number & ":"
	StdOut Err.Description

Plusieurs fonctions dont les risques d'échec sont élevés font exception à cette règle. Notamment, les fonctions de contrôle de validité (validate) et de définition (set) de zone renvoient des indications d'erreur au lieu d'émettre des exceptions. Pour plus d'informations, voir "Contrôle des erreurs et contrôle de validité.

Traitement des valeurs de retour VARIANT

Pour VBScript, certaines propriétés et méthodes renvoient une valeur VARIANT qui devrait contenir un tableau d'objets ou de chaînes (Strings). Si le tableau est vide, la valeur de VARIANT est EMPTY. Une valeur vide n'est pas considérée comme étant un tableau, or une tentative d'itération sur un élément qui n'est pas un tableau est considérée comme une inadéquation de type. Vous devez vérifier les valeurs de retour VARIANT à l'aide des fonctions IsEmpty ou IsArray avant d'appliquer une fonction liée au tableau. Exemple :

fieldObjs = GetInvalidFieldValues
' Vérifier la valeur de retour
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