Funktionsreferenz


SetError

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.
Der "extended"-Parameter ist optional. Er ist nur zur Verfügung gestellt, um @error und @extended zur gleichen Zeit ändern zu können. Wenn nur @extended gesetzt werden muss, wird empfohlen, die SetExtended()-Funktion zu verwenden.

Verwandte Funktionen

SetExtended

Beispiel


Local $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   ;==>myDiv