Manuelles Setzen des Wertes des @error-Makros.
SetError ( code [, extended [, return value]] )
Parameter
| code | Der gewünschte Wert (als Ganzzahl), auf den @error gesetzt werden soll. |
| extended | [optional] Der optionale Wert (als Ganzzahl), auf den @extended gesetzt werden soll. Dies setzt das selbe Makro wie die SetExtended() Funktion. |
| return value | [optional] Überschreibt den Standard-Rückgabewert und setzt ihn auf diesen Wert. |
Rückgabewert
Normalerweise keiner, jedoch, wenn der optionale "return value" (Rückgabewert) gesetzt ist, wird die Funktion diesen Wert zurückgeben.
Bemerkungen
Wenn eine Funktion gestartet wird, wird @error auf 0 gesetzt. Außer wenn SetError() aufgerufen wird. Dann wird @error mit dem Wert 0 erhalten bleiben, nachdem die Funktion beendet wurde. Dies bedeutet, dass @error explizit gesetzt werden muss, sollte es nach einer Funktion ausgewertet werden müssen. Folglich könnte es erforderlich sein, den Status von @error in einer Variablen zu speichern, wenn sie zum Testen einer While-Wend Schleife verwendet wird.
Verwandte Funktionen
SetExtended
Beispiel
$result = myDiv(5, 0)
If @error Then
MsgBox(4096,"Fehler", "Teilung durch Null")
Else
MsgBox(4096, "Ergebnis", $result)
EndIf
Exit
Func myDiv($dividend, $divisor)
If $dividend = 0 And $divisor = 0 Then
SetError(2) ; Nicht ermittelbare Form 0/0
ElseIf $divisor = 0 Then
SetError(1) ; Teilung durch Null
EndIf
Return $dividend / $divisor
EndFunc