Freigeben über


ON ERROR-Befehl

Gibt einen Befehl an, der beim Auftreten eines Fehlers ausgeführt wird.

ON ERROR   [Command]

Parameter

  • Command
    Gibt den auszuführenden Microsoft Visual FoxPro-Befehl an. Nachdem der Befehl ausgeführt wurde, wird die Programmausführung unmittelbar nach der Zeile fortgesetzt, die den Fehler verursachte. Wenn die Fehlerbehandlungsprozedur jedoch RETRY enthält, wird die Programmzeile mit dem Fehler erneut ausgeführt.

    Wenn der Befehl eine Prozedur angibt, die beim Auftreten eines Fehlers ausgeführt werden soll, können Sie mit ERROR( ), MESSAGE( ), LINENO( ) und PROGRAM( ) Fehlernummer, Fehlermeldung, Programmzeilennummer und Programmnamen an die Prozedur übergeben. Mit Hilfe dieser Informationen kann die Ursache des Fehlers beseitigt werden.

Hinweise

Wenn bei der Programmausführung ein Fehler auftritt, führt Visual FoxPro den Befehl aus, den Sie in ON ERROR angegeben haben. Normalerweise führt ON ERROR mit DO eine Fehlerbehandlungsprozedur aus.

Verwenden Sie ON ERROR ohne ein Argument, um wieder die standardmäßige Visual FoxPro-Fehlerbehandlungsroutine zu laden.

ON ERROR-Prozeduren können nicht verschachtelt werden. Wenn ON ERROR innerhalb einer ON ERROR-Prozedur ausgegeben wird, wird die standardmäßige Visual FoxPro-Fehlerbehandlungsroutine erneut geladen.

Beispiel

ON ERROR DO errhand WITH ;
   ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( )

** The next line should cause an error ** USE nodatabase ON ERROR && restore system error handler PROCEDURE errhand PARAMETER merror, mess, mess1, mprog, mlineno CLEAR ? 'Error number: ' + LTRIM(STR(merror)) ? 'Error message: ' + mess ? 'Line of code with error: ' + mess1 ? 'Line number of error: ' + LTRIM(STR(mlineno)) ? 'Program with error: ' + mprog

Siehe auch

AERROR( ) | COMRETURNERROR( ) | DO | ERROR | ERROR( ) FUNCTION | LINENO( ) | MESSAGE( ) | PROGRAM( ) | PROCEDURE | RETRY