Signalisiert das Vorkommen eines Fehlers. Dieses Signal kann mit einer Try-Catch-Anweisung abgefangen werden.
Throw , Ausdruck
[v1.1.05+]: Wenn weggelassen, wird ein Exception-Objekt mit einer Standardmeldung ausgelöst.
Andernfalls geben Sie einen Wert an, der in die Ausgabevariable von Catch gespeichert werden soll.
Da dieser Parameter ein Ausdruck ist, sind alle der folgenden Zeilen gültig:
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 nur mit Prozentzeichen umschlossen werden, wenn eine Doppeldereferenz (double-deref) beabsichtigt ist.
Erstellt ein Objekt mit Eigenschaften, die auch für via Laufzeitfehler erzeugte Ausnahmen üblich sind.
Exception(Message , What, Extra)
Dieses Objekt enthält die folgenden Eigenschaften:
Wenn What weggelassen wird, wird standardmäßig der Name der aktuellen Funktion oder Subroutine verwendet. Andernfalls geben Sie eine Zeichenkette oder einen negativen Offset vom Anfang der Aufrufliste an. Zum Beispiel bewirkt -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 die Funktion oder Subroutine aufgerufen hat. Wenn das Skript jedoch kompiliert ist 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 EineFunktion() catch e MsgBox % "Fehler in " e.What ", das auf Zeile " e.Line " aufgerufen wurde." EineFunktion() { throw Exception("Fehler", -1) }
Try, Catch, Finally, OnError()
Siehe Try.