Wenn kein Fehler auftritt ist @error i.A. 0
Üblich ist den Rückgabewert einer Funktion bei Erfolg mit -1 zu setzen und bei Fehler mit 0
Um individuelle Fehlerwerte zu vergeben arbeitest du mit SetError().
z.B. übergebene Variable ist kein Array, obwohl Funktion das verlangt
bzw.
Array ist 2-dimensional, aber 1-dimensional wird verlangt.
Func FunctionXY($array)
If Not IsArray($array) Then
SetError(1)
Return 0
EndIf
Dim $Dimension = UBound($array,2)
If Not @error Then
SetError(2)
Return 0
EndIf
;.....
EndFunc
Um eine Fehlerbehandlung einzuleiten setzt du einfach nach einem Befehlsaufruf:
If @error Then
; hier kannst du z.B. Fehlerwerte abfragen und entsprechend auswerten
Switch @error
Case 1
MsgBox(0,'','Variable ist kein Array')
Case 2
MsgBox(0,'','Array ist 2-dimensional')
EndSwitch
EndIf