Fehlermeldungen
Der OBAS-Interpreter führt umfangreiche Gültigkeitstests durch, um sicherzustellen, dass ein Fehler in einem OBAS-Programm nicht zu Problemen im Gesamtsystem führt. Die Fehlerprüfung geschieht dynamisch in Abhängigkeit vom aktuellen Betriebszustand. So kann sichergestellt werden, dass das Fehlermanagement keinen Einfluss auf die Performance des Systems hat.
Innerhalb eines laufenden Programmes können aufgetretene Fehler mit ON ERROR GOTO angefangen werden. Die Numer des letzten aufgetretene Fehler kann mit ERRN abgefragt werden. Der OBAS-Interpreter kennt verschiedene Fehlerkategorien:
- Fehler 100 - 199 sind Sytemfehler
- Fehler 200 - 999 sind Parserfehler
- Fehler ab Nummer 1000 sind Verarbeitungsfehler
|
Nummer |
Fehlertext |
|---|---|
|
100 |
Speicherverletzung |
|
101 |
Speicherklasse wird nicht unterstützt |
|
10 |
Programmspeicherfehler |
|
103 |
Programm kann nicht fortgesetzt werden |
|
104 |
OP-Stapel-Fehler |
|
105 |
Heap reicht nicht aus |
|
106 |
Speicher reicht nicht |
|
107 |
Systemfehler, ungültige Tokennummer |
|
108 |
Das ist kein OBAS-Programm |
|
109 |
OP-Stapel-Überlauf |
|
150 |
Anweisung ist nicht implementiert |
|
200 |
undefinierter Parser-Fehler |
|
201 |
unerwartetes Zeichen |
|
202 |
Zeile unvollendet |
|
203 |
Programmzeile zu lang |
|
204 |
String nicht beendet |
|
205 |
falscher Parametertyp |
|
206 |
fehlender Bezeichner |
|
207 |
Fehlender Parameter |
|
208 |
Bezeichner ist zu lang |
|
209 |
Zuweisung ohne lval |
|
210 |
Token ist nur im Batchmodus möglich |
|
211 |
Token ist nur programmierbar |
|
212 |
Token nicht nach IF zulässig |
|
213 |
Token nur nach IF zulässig |
|
214 |
Fehlender Parameter |
|
215 |
“)“ fehlt |
|
216 |
“{“ fehlt |
|
217 |
“}“ fehlt |
|
218 |
Syntaxfehler in der Anweisung |
|
219 |
TO fehlt |
|
1000 |
unbekannter Runtime-Fehler |
|
1001 |
Nulldata |
|
1002 |
Null-Pointer-Zugriff |
|
1003 |
DIM einer existierenden Variable |
|
1004 |
COM in SUB/FN nicht zulässig |
|
1005 |
Dimensionierung hat zu vielen Dimensionen |
|
1006 |
unzulässiger Array-Index |
|
1007 |
unzulässige Option-Base |
|
1008 |
Variable ist keine Matrix |
|
1009 |
Dimensionierungen passen nicht |
|
1050 |
unbekannter Programmstrukturfehler |
|
1051 |
undefiniertes Schleifenende |
|
1052 |
Zeilenmarke nicht gefunden |
|
1053 |
Schleifenende nicht gefunden |
|
1054 |
SUB oder FN nicht gefunden |
|
1055 |
Zu viele Unterprogrammebenen |
|
1056 |
keine Unterprogrammebene |
|
1057 |
unerwartetes Programmende |
|
1100 |
unbekannter mathematischer Fehler |
|
1101 |
Division durch 0 |
|
1102 |
Overflow |
|
1103 |
Underflow |
|
1104 |
LOG(0) |
|
1105 |
TAN(90) |
|
1106 |
negative Komplexität |
|
1107 |
NaN |
|
1200 |
unbekannter Zeichenkettenfehler |
|
1201 |
Stringüberlauf |
|
1202 |
ungültiger Stringsubscript |
|
1300 |
unbekannter Dateifehler |
|
1301 |
ungültige Dateinummer |
|
1302 |
Zugriff nicht möglich |
|
1350 |
kein Widget gefunden |
|
1351 |
ungültiger Datentyp für dieses Widget |
|
1352 |
unbekannter Widgettyp |
|
1353 |
unbekannte Widget-Aktion |
|
1354 |
Spalten-Position im Matrix-Widget ungültig |
|
1355 |
Zeilenposition im Matrix-Widget ungültig |
|
1400 |
unbekannter I/O-Fehler |
|
1401 |
Timeout |
|
1402 |
IMAGE |
|
1403 |
MAGE Zahlenmaske zu groß |
|
1404 |
IMAGE Formatzeichen nicht wiederholbar |
|
1405 |
IMAGE Exponentenangabe ungültig |
|
1406 |
IMAGE Formatangabe zu klein |


