Zurück Weiter

Anhang A - Fehlermeldungen

Wenn der ARexx-Interpreter einen Fehler feststellt, gibt er einen Fehlercode zurück, der Aufschluß darüber gibt, um welche Art von Fehler es sich handelt. Normalerweise werden der Fehlercode, die Zeilennummer der Stelle im Quelltext, an der der Fehler auftrat, und eine kurze, den Fehler erläuternde Nachricht angezeigt. Anschließend wird die Verarbeitung des Programms abgebrochen und die Steuerung an die Aufrufebene zurückgegeben, es sei denn, es war der SYNTAX-Interrupt (über den Befehl SIGNAL) aktiviert. Die meisten Syntax- und Ausführungsfehler lassen sich mit Hilfe des SYNTAX-Interrupts abfangen. Dies gibt dem Programmierer die Gelegenheit, die geeigneten Maßnahmen zur Fehlerbehebung zu ergreifen. Manche Fehler werden aber auch außerhalb des Kontexts eines ARexx-Programms verursacht und können demzufolge nicht mit diesem Verfahren abgefangen werden. Nähere Informationen über das Abfangen und Bearbeiten von Fehlern finden Sie in Kapitel 6.

Jeder Fehlercode ist mit einem Schweregrad verbunden, der dem aufrufenden Programm als primärer Ergebniscode gemeldet wird. Die Werte dieser Ergebniscodes sind 5 (geringfügiger Fehler), 10 (weniger schwerer Fehler) und 20 (sehr schwerer Fehler). Der Fehlercode selbst bildet das Sekundärergebnis. Die Art der Weitermeldung solcher Codes hängt vom jeweiligen externen (aufrufenden) Programm ab.

Auf den folgenden Seiten finden Sie eine Liste aller gegenwärtig definierten Fehlercodes mit den entsprechenden Ergebniscodes und dem jeweiligen Text der Fehlermeldung.

Fehler

Fehlercode

Meldung

Erläuterung

1

5

Programm nicht gefunden (Program not found)

Das angegebene Programm wurde nicht gefunden oder war kein ARexx-Programm. Bei ARexx-Programmen wird vorausgesetzt, daß sie mit einem Kommentar ((*...*/) beginnen. Dieser Fehler wird von der externen Schnittstelle festgestellt und kann nicht mit dem SYNTAX-Interrupt abgefangen werden.

2

10

Ausführung gestoppt (Execution halted)

Eine Unterbrechung durch Ctrl-C oder eine externe Halteanforderung wurde empfangen, worauf die Verarbeitung des Programms abgebrochen wurde. Dieser Fehler wird abgefangen, wenn der HALT-Interrupt aktiviert ist.

3

20

Speicherplatzmangel (Insufficient memory)

Der Interpreter konnte nicht genügend Speicherplatz für eine bestimmte Operation reservieren. Speicherplatz wird für alle Analyse- und Ausführungsoperationen benötigt. Der Fehler kann daher normalerweise nicht mit dem SYNTAX-Interrupt abgefangen werden.

4

10

Ungültiges Zeichen (Invalid character)

Im Programm wurde ein Nicht-ASCII-Zeichen (z.B. ein Umlaut in einem Variablennamen) entdeckt. Steuercodes und andere Nicht-ASCII-Zeichen können in einem Programm verwendet werden. Dazu müssen sie aber als Hexadezimal- oder Binärzeichenfolgen definiert werden. Dies ist ein Suchphasenfehler und kann nicht mit dem SYNTAX-Interrupt abgefangen werden.

5

10

Ungerade Anzahl von Anführungszeichen (Unmatchend quote)

Es fehlt ein abschließendes einfaches oder doppeltes Anführungszeichen. Überprüfen Sie das Programm auf die korrekte Begrenzung aller Zeichenfolgen. Dies ist ein Suchphasenfehler und kann nicht mit dem SYNTAX-Interrupt abgefangen werden.

6

10

Fehlendes Kommentarabschlußzeichen (Unterminated comment)

Das Abschlußzeichen */ eines Kommentars wurde nicht gefunden. Beachten Sie, daß Kommentare auch verschachtelt sein können. Zu jedem /* muß ein */ vorhanden sein. Dies ist ein Suchphasenfehler und kann nicht mit dem SYNTAX-Interrupt abgefangen werden.

7

10

Klausel zu lang (Clause to long)

Eine Klausel war für den internen Puffer zu lang. Die Quelltextzeile sollte in kleinere Komponenten aufgeteilt werden. Dies ist ein Suchphasenfehler und kann nicht mit dem SYNTAX-Interrupt abgefangen werden.

8

10

Ungültiges Token (Invalid token)

Ein nicht erkanntes lexikalisches Token wurde entdeckt, oder eine Klausel konnte nicht korrekt klassifiziert werden. Dies ist ein Suchphasenfehler und kann nicht mit dem SYNTAX-Interrupt abgefangen werden.

9

10

Symbol oder Zeichenkette zu lang (Symbol or string to long)

Es wurde versucht, eine Zeichenkette zu erstellen, die die maximal zulässige Länge überschritt.

10

10

Ungültiges Nachrichtenpaket (Invalid message packet)

In einem Nachrichtenpaket, das an den residenten ARexx-Prozeß gesendet wurde, wurde ein ungültiger Aktionscode entdeckt. Das Paket wurde unverarbeitet zurückgegeben. Dieser Fehler wird von der externen Schnittstelle festgestellt und kann nicht mit dem SYNTAX-Interrupt abgefangen werden.

11

10

Fehler in der Kommandozeichenfolge (Command string error)

Eine Kommandozeichenfolge konnte nicht verarbeitet werden. Dieser Fehler wird von der externen Schnittstelle festgestellt und kann nicht mit dem SYNTAX-Interrupt abgefangen werden.

12

10

Fehlerrückgabe von der Funktion (Error return from function)

Eine externe Funktion gab einen von Null abweichenden Fehlercode zurück. Stellen Sie sicher, daß zu der Funktion korrekte Argument angegeben wurden.

13

10

Host-Umgebung nicht gefunden (Host environment not found)

Der einer Host-Adreßzeichenfolge entsprechende Message-Port wurde nicht gefunden. Stellen Sie sicher, daß der betreffende externe Host aktiv ist.

14

10

Angeforderte Bibliothek nicht gefunden (Requested library not found)

Es wurde versucht, eine in der Bibliotheksliste enthaltene Funktionsbibliothek zu öffnen, die Bibliothek konnte jedoch nicht geöffnet werden. Stellen Sie sicher, daß Name und Version der Bibliothek korrekt angegeben wurden, als die Bibliothek in die Ressourcenliste aufgenommen wurde.

15

10

Funktion nicht gefunden (Function not found)

Es wurde eine Funktion gefunden, die weder in einer der gegenwärtig im Zugriff befindlichen Bibliotheken gefunden noch als externes Programm lokalisiert werden konnte. Stellen Sie sicher, daß die entsprechenden Funktionsbibliotheken in die Bibliothekenliste aufgenommen wurden.

16

10

Funktion gab keinen Wert zurück (Function did not return value)

Es wurde eine Funktion aufgerufen, die keine Ergebniszeichenfolge zurückgab, aber auch sonst keinen Fehler meldete. Stellen Sie sicher, daß die Funktion korrekt programmiert wurde oder rufen Sie die Funktion über den Befehl CALL auf.

17

10

Falsche Anzahl an Argumenten (Wrong number of arguments)

Es wurde eine Funktion aufgerufen, die eine andere Anzahl Argumente erwartet. Dieser Fehler wird generiert, wenn eine integrierte oder externe Funktion mit mehr Argumenten aufgerufen wird, als das Nachrichtenpaket für die externe Kommunikation aufnehmen kann.

18

10

Ungültiges Argument für Funktion (Invalid argument to function)

Einer Funktion wurde ein unpassendes Argument mitgegeben, oder es fehlte ein erforderliches Argument. Überprüfen Sie die erforderlichen Argumente der betreffenden Funktion.

Hoch Zurück Weiter