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 das voreingestellte Fehlerdialogfenster zu unterdrücken.

HinzufügenEntfernen

Wenn dieser Parameter weggelassen wird oder leer ist, wird standardmäßig 1 (die Funktion nach anderen zuvor registrierten Funktionen aufrufen) verwendet. Ansonsten können Sie eine der folgenden Zahlen angeben:

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 das voreingestellte Fehlerdialogfenster anzeigen soll.

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

Try, Catch, Throw, OnExit(), OnExit

Beispiele

Protokolliert Fehler, die vom Skript verursacht werden, in eine Textdatei, anstatt sie dem Benutzer anzuzeigen.

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

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