ON ERROR GOSUB
Mit der ON ERROR GOSUB Anweisung wird ein
Unterprogramm definiert, das bei einem Fehler
aufgerufen wird. Tritt nach dieser Definition zu
einem beliebigen Zeitpunkt ein Fehler auf,
wird das Programm nicht automatisch
abgebrochen, sondern das definierte
Unterprogramm aufgerufen.
Innerhalb dieses Unterprogrammes ist es dann
möglich, gezielt auf den Fehler zu reagieren, auf
Benutzereingriffe zu warten, die Fehlermeldung mit
ERRCLR zu löschen oder bei nicht beheb-
baren Fehlern mit der EXIT Anweisung das
Programm abzubrechen.
Wird das Programm nicht abgebrochen,
dann wird nach dem RETURN Befehl an der vor
dem Aufruf des Fehlerunterprogrammes
bearbeiteten Programmposition fortgefahren.
Mit dem CONTINUE Befehl kann man den durch
den Fehler unterbrochenen Bewegungsablauf fort-
setzen (Ausnahme: Synchronisationsbefehle).
Kurzinfo
Definition eines Unterprogrammes für den
Fehlerfall
Syntax
ON ERROR GOSUB name
Parameter
name = Name des Unterprogrammes
Besonderheiten
Die ON ERROR GOSUB Anweisung sollte am
Programmanfang stehen, damit sie für das ganze
Programm gültig ist.
Das aufzurufende Unterprogramm muss innerhalb
des durch SUBMAINPROG und ENDPROG ge-
kennzeichneten Programmbereichs definiert sein.
Das Erkennen eines Interrupts und der Aufruf des
entsprechenden Unterprogrammes benötigt maxi-
mal 2 Millisekunden.
ACHTUNG!
Fehlerunterprogramme können nicht durch
andere Interrupts unterbrochen werden.
ACHTUNG!
Während der Ausführung eines Fehlerunter-
programmes ist automatisch NOWAIT ON
gesetzt.
MG.10.J4.03 - VLT ist ein eingetragenes Warenzeichen von Danfoss
VLT
5000 SyncPos-Option
Wird das Fehlerunterprogramm mit einem Fehler
verlassen, weil zum Beispiel kein ERRCLR durch-
geführt wurde oder bereits ein neuer Fehler aufge-
treten ist, erfolgt ein erneuter Aufruf.
ACHTUNG!
Die ON ERROR GOSUB Anweisung been-
det nicht HOME- und INDEX-Befehle. Das
heißt, diese werden zu Ende ausgeführt, sobald
der Fehler gelöscht ist.
Um dies zu verhindern, kann man ein ON TIME 1
in die ERROR-Anweisung einfügen.
Befehlsgruppe
INT
Querverweise
SUBPROG...RETURN, ERRCLR, ERRNO,
CONTINUE, EXIT
Syntax-Beispiel
ON ERROR GOSUB errhandle
/* Definition eines Fehlerunterprogrammes */
Befehlszeile 1
Befehlszeile n
SUBMAINPROG
/* Unterprogramm errhandle muss definiert sein */
SUBPROG errhandle
Befehlszeile 1
Befehlszeile n
RETURN
ENDPROG
Programmbeispiele
ERROR_01.M
IF_01.M, INDEX_01.M
97