Signalisiert das Vorkommen eines Fehlers. Dieses Signal kann mit einer Try-Catch-Anweisung abgefangen werden.
Throw , Ausdruck
Ein Wert, der in den AusgabeVar von Catch 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+]: Lässt man diesen Parameter weg, wird ein Exception-Objekt mit einer Standardmeldung ausgelöst.
Erstellt ein Objekt mit Eigenschaften, die auch bei durch Laufzeitfehler erzeugten Ausnahmen üblich sind.
Exception(Message , What, Extra)
Dieses Objekt enthält die folgenden Eigenschaften:
Lässt man What weg, wird standardmäßig der Name der aktuellen Funktion oder Subroutine verwendet. 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
und Exception.File
auf die Zeile und Datei 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 werden in einem Fehlerdialogfenster 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) }
Try, Catch, Finally, OnError()
Siehe Try.