Throw [v1.1.04+]

Signalisiert das Vorkommen eines Fehlers. Dieses Signal kann mit einer Try-Catch-Anweisung abgefangen werden.

Throw , Ausdruck

Parameter

Ausdruck

Ein Wert, der in Catch's AusgabeVar gespeichert werden soll.

Da dieser Parameter ein Ausdruck ist, wären alle folgenden Zeilen gültige Beispiele:

throw 3
throw "direkt geschriebene Zeichenkette"
throw MeineVar
throw i + 1
throw { what: "Benutzerdefinierter Fehler", file: A_LineFile, line: A_LineNumber } ; Übergibt ein Objekt

Dieser Parameter ist immer ein Ausdruck, daher sollten Variablenreferenzen nicht von Prozentzeichen umschlossen werden, außer, um eine Doppeldereferenzierung durchzuführen.

[v1.1.05+]: Fehlt dieser Parameter, wird ein Exception-Objekt mit einer Standardmeldung ausgelöst.

Exception()

Erstellt ein Objekt mit Eigenschaften, die auch bei durch Laufzeitfehler erzeugte Ausnahmen üblich sind:

Exception(Message , What, Extra)

Dieses Objekt enthält die folgenden Eigenschaften:

Sobald What weggelassen wird, gilt standardmäßig der Name der aktuellen Funktion oder Subroutine. Ansonsten kann eine Zeichenkette oder ein negativer Offset vom Anfang der Aufrufliste angegeben werden. Zum Beispiel bewirkt ein Wert von -1, dass Exception.What auf die aktuelle Funktion oder Subroutine gesetzt wird und dass Exception.Line auf die Zeile gesetzt wird, die sie aufgerufen hat. Wenn das Skript jedoch kompiliert oder der Offset ungültig ist, wird What einfach in eine Zeichenkette umgewandelt.

Message und Extra werden in Zeichenketten umgewandelt. Diese Eigenschaften werden in einem Fehlerfenster angezeigt, wenn die Ausnahme ausgelöst aber nicht abgefangen wurde.

try
    IrgendeineFunktion()
catch e
    MsgBox % "Fehler in " e.What ", das auf Zeile " e.Line " aufgerufen wurde." 

IrgendeineFunktion() {
    throw Exception("Fehlschlag", -1)
}

Siehe auch

Try, Catch, Finally, OnError()

Beispiele

Siehe Try.