NONE: Ohne Wert
1. Einleitung
Variablen, die zwar definiert sind, denen aber noch kein Wert zugewiesen wurde,
sind von Typ NONE.
Ausdrücke, die ein nicht definiertes Ergebnis haben, sind ebenfalls vom Typ NONE.
So liefert z.B. ' 3 + "Hallo" ' den Wert NONE, da eine Zahl und eine
Zeichenkette nicht addiert werden können.
Die beiden Konstanten '@NONE'
und 'NONE' geben den einzigen möglichen Wert wieder.
Diese beiden Konstanten sollte man nicht mit der Konstanten '_NONE' verwechseln,
die den Typ eines Ausdruckes festlegt (siehe type()).
2. Fehlerbits
Treten bei Berechnungen Fehler auf, dann wird das Ergebnis den Wert NONE an.
Außerdem wird ein Fehlerstatus gesetzt. Dieser Fehlerstatus besteht aus einzelnen Bits,
so dass auch mehrere akkumulierte Fehler erkannt werden können.
Der Zugriff auf die Fehlerbits geschieht ausschließlich durch die Funktionen
setError(), getError() und getErrorText().
Die folgenden Konstanten definieren einzelne Bits
und können mittels OR-Operation ('|') miteinander verknüpft werden.
Die Werte in Klammern zeigen die textuelle Darstellung,
die durch die Funktion getErrorText() erzeugt wird.
- _ERR_NONE := 1 << _NONE ("OP-NONE")
Es wurde eine unerlaubte Rechenoperation mit einem NONE-Wert durchgeführt.
- _ERR_INT32 := 1 << _INT32 ("OP-INT32")
Es wurde eine unerlaubte Rechenoperation mit einem INT32-Wert durchgeführt.
- _ERR_INT64 := 1 << _INT64 ("OP-INT64")
Es wurde eine unerlaubte Rechenoperation mit einem INT64-Wert durchgeführt.
- _ERR_FLOAT := 1 << _FLOAT ("OP-DOUBLE")
Es wurde eine unerlaubte Rechenoperation mit einem FLOAT-Wert durchgeführt.
- _ERR_STRING := 1 << _STRING ("OP-STRING")
Es wurde eine unerlaubte Rechenoperation mit einem STRING-Wert durchgeführt.
- _ERR_LIST := 1 << _LIST ("OP-LIST")
Es wurde eine unerlaubte Rechenoperation mit einem LIST-Wert durchgeführt.
- _ERR_MAP := 1 << _MAP ("OP-MAP")
Es wurde eine unerlaubte Rechenoperation mit einem MAP-Wert durchgeführt.
- _ERR_VALUE ("VALUE")
Der Wert von mindestens einem Parameter lag ausserhalb des gültigen Wertebereiches.
- _ERR_DIV0 ("DIV0")
Es wurd ein Division durch Null durchgeführt.
- _ERR_NO_CONST ("NO-CONST")
Beim Scanning einer Konstanten wurde keine solche gefunden.
(siehe z.B. scan())
- _ERR_NO_VALUE ("NO-VAL")
Bei einer Operation auf variable vielen Elementen wurde kein gültiges Element gefunden.
(siehe z.B. min())
Bei einer Rechenoperation mit zwei Typen, die nicht miteinander kompatibel sind,
werden die entsprechenden Fehlerbits beider Typen gesetzt.
Siehe auch:
Typen und Wertebereiche
setError()
getError()
getErrorText()