AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
Inhalt   <<   <   >   >>   Index

Anweisung zur Definition und zum Annullieren eines Fehlerbehandlers.

Syntax:          a)     ON ERROR [LOCALAnweisungen
          b)     ON ERROR OFF

Benutzung:     a)     Die ON ERROR Anweisung führt den Fehlerbehandler ein. Wenn ein Fehler nach der Ausführung eines ON ERROR auftritt, geht die Kontrolle an die erste Anweisung der ON ERROR Zeile über, und das Programm läuft von dort weiter. Beachten Sie, daß der gesamte Fehlerbehandler-Code sich auf der ON ERROR Zeile befinden muß, so daß komplexe Fehlerbehandler auf Prozeduren angewiesen sind, z.B.:

                10 ON ERROR PROCerr_handler

                In der Regel vergißt BASIC vor Aufruf des Fehlerbehandlers alle aktiven Prozeduren, Funktionen und Schleifen und schaltet auf die 'oberste Programmebene' zurück. Wird jedoch das Schlüsselwort LOCAL auf der ON ERROR Zeile verwendet, dann wird bei Auftreten des Fehlers wieder die Verschachtelungsebene betreten, die zur Zeit der Ausführung von ON ERROR aktuell war. Dies gestattet das Schreiben von Fehlerbehandlern, die innerhalb von Schleifen und anderen Konstruktionen nützlich sind.

                Siehe auch LOCAL ERROR und RESTORE ERROR.

          b)     ON ERROR OFF annulliert den aktiven Fehlerbehandler, so daß bei Auftreten eines Fehlers diese Standardaktion in Gang gesetzt wird:

                
100     TRACE OFF
                
110     IF QUIT THEN
                
120       ERROR EXT ERR, REPORT$
                
130     ELSE
                
140       RESTORE
                
150       (HIMEM-4)=@%
                
160       @%=8900
                
170       REPORT
                
180       IF ERL PRINT " at line " ERL ELSE PRINT
                
190       @%=!(HIMEM-4)
                
200       END
                
210     ENDIF

                Bei Generierung von fatalen Fehlern (ERR=0) wird eine automatische ON ERROR OFF Anweisung durchgeführt.

Beispiele:     
ON ERROR IF ERR=17 STOP : REM trap just Escape
          
ON ERROR LOCAL PRINT "Unzulässige Arg" : ENDPROC

[sh-index] Back to list of manuals