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



Schatten