D�finit manuellement la valeur de la macro @error (et optionnellement @extended et la "Valeur de retour").
SetError ( code [, extended = 0 [, return value]] )
code | La valeur requise (integer) pour d�finir la macro @error. |
extended | [optionnel] La valeur enti�re de la macro @extended. Ceci d�finit la m�me macro que la fonction SetExtended(). |
return value | [optionnel] La valeur qui sera retourn�e par la fonction - si aucun param�tre n'est utilis� la valeur de retour est ind�finie. |
Lorsque vous entrez dans une fonction, @error est remis � 0. A moins que SetError() ne soit appel�e, dans ce cas @error restera � 0 � la sortie de la fonction. Cela signifie que vous devez sauvegarder le statut de @error dans une variable si vous la tester dans une boucle While-WEnd.
Le param�tre extended est optionnel. Il est seulement pr�vu comme un moyen de d�finir � la fois @error et @extended au m�me moment. Si vous avez seulement besoin de d�finir @extended, alors il est recommand� d'utiliser la fonction SetExtended() � la place.
Le param�tre "return value" est optionnel. Il est pr�vu comme un moyen d'utiliser la syntaxe Return SetError(...) pour d�finir la valeur qui doit �tre retourn�e en m�me temps que le param�tre @error (et �ventuellement @extended). Si aucune valeur sp�cifique n'est d�finie alors la valeur de retour sera ind�finie et ne doit pas �tre utilis�e par le code.
@error est compris dans la plage de valeurs de -2147483648 � 2147483647.
#include <MsgBoxConstants.au3> Local $fResult = myDiv(5, 0) If @error Then MsgBox($MB_SYSTEMMODAL, "Erreur", "Division par Z�ro") Else MsgBox($MB_SYSTEMMODAL, "R�sultat", $fResult) EndIf Exit Func myDiv($iDividend, $iDivisor) If $iDividend = 0 And $iDivisor = 0 Then SetError(2) ; Forme ind�termin�e 0/0. ElseIf $iDivisor = 0 Then SetError(1) ; Division par z�ro. EndIf Return $iDividend / $iDivisor EndFunc ;==>myDiv
#include <MsgBoxConstants.au3> Local $sReturn = Example() ; Affiche la valeur de retour, @error et @extended. MsgBox($MB_SYSTEMMODAL, "", "Valeur de retour = " & $sReturn & @CRLF & _ "Valeur de @error: " & @error & @CRLF & _ "Valeur de @extended: " & @extended) Func Example() ; D�finit @error � 3, @extended � 10 et retourne la cha�ne "Une valeur de retour quelconque." Return SetError(3, 10, "Une valeur de retour quelconque") EndFunc ;==>Example