OnError() [v1.1.29+]

Bestimmt eine Funktion, die automatisch gestartet werden soll, wenn ein unbehandelter Fehler auftritt.

OnError(Func , HinzufügenEntfernen)

Parameter

Func

Ein Funktionsname oder Funktionsobjekt, die aufgerufen werden sollen, wenn ein unbehandelter Fehler auftritt. Die Funktion erhält das Exception-Objekt als Parameter. Sie kann via Return einen Integer ungleich Null zurückgeben, um die Standardfehlermeldung zu unterdrücken.

HinzufügenEntfernen

Eines der folgenden Werte:
1 (Standard): Rufen Sie die Funktion nach anderen zuvor registrierten Funktionen auf.
-1: Rufen Sie die Funktion vor anderen zuvor registrierten Funktionen auf.
0: Rufen Sie die Funktion nicht auf.

Bemerkungen

Func wird nur bei Fehlern oder Ausnahmen aufgerufen, die normalerweise zu einer Fehlermeldung führen würden. Ladezeitfehler gehören nicht dazu, da OnError erst nach dem Laden des Skripts aufgerufen werden kann.

Wenn eine Fehlerfunktion einen Integer ungleich Null via Return zurückgibt, wird der Thread beendet. Wenn innerhalb einer Fehlerfunktion ein Fehler auftritt (oder eine Ausnahme ausgelöst wird), wird eine Fehlermeldung für den neuen Fehler angezeigt und der Thread beendet. Ansonsten werden alle Fehlerfunktionen aufgerufen, eine Fehlermeldung angezeigt und der Thread beendet.

Func's erster Parameter erhält den Wert oder das Exception-Objekt der ausgelösten Ausnahme. Wenn es sich um ein Objekt handelt, kann es modifiziert werden, um zu bestimmen, was die Standardfehlermeldung anzeigen soll.

Func wird während des aktuellen Threads aufgerufen, bevor er beendet wird (also bevor der Aufrufstapel abgearbeitet wurde).

Siehe auch

Try, Catch, Throw, OnExit

Beispiele

OnError("FehlerProtokollieren")
%Fehler% := auslösen

FehlerProtokollieren(Exception) {
    FileAppend % "Fehler bei Zeile " Exception.Line ": " Exception.Message "`n"
        , Fehlerprotokoll.txt
    return true
}