Java Reference
In-Depth Information
Die beiden eval() -Anweisungen sowie die reine Textausgabe sind nun von einem try -Block
umgeben. Wieder wird die erste Ausgabe problemlos erzeugt. Die folgende Anweisung löst
dann wie im vorherigen Beispiel die Ausnahme aus. Die Anweisung wird nicht durchge-
führt und der try -Block wird unmittelbar verlassen. Die nachfolgende Ausgabe wird nicht
erreicht. Der Programmluss verzweigt unmittelbar in den catch -Block. Dort wird der Inhalt
des generierten Ausnahmeobjekts angezeigt.
Wenn der catch -Block abgearbeitet wurde, läut das Skript mit der nächsten Anweisung
hinter dem try-catch -Konstrukt weiter.
 Bild 9.5■
Nach Behandlung der Ausnahme ist
das Skript weitergelaufen.
9.4.4■Selbstdeinierte Ausnahmen erzeugen und verwenden
Man kann auch in JavaScript selbstdeinierte Ausnahmen erzeugen und diese dann ähnlich
wie die Standardausnahmen von JavaScript verwenden. Damit erweitern Sie die Flexibilität
der Anwendung von Ausnahmen.
9.4.4.1■Erstellen einer selbstdeinierten Ausnahme
Die Klasse Error kann sowohl als Funktion über Error() als auch - wie jede Funktion in
JavaScript - als Konstruktor über new Error() verwendet werden. Damit erzeugt man dann
ein neues Error -Objekt. Interessant ist dabei, dass man mit Error([Meldung]) eine selbst-
deinierte Fehlermeldung für das Objekt aufbauen kann, die sich mit der Eigenschat
message auswerten lässt. Daraus resultiert der hauptsächliche Nutzen von selbstdeinierten
Ausnahmen. Beispiel:
Listing 9.12■ Erzeugen einer selbstdeinierten Ausnahme mit Meldung
a = new Error("Nicht doch");
Nun braucht man in JavaScript durch die wenigen Datentypen und die lose Typisierung
sogar nicht einmal explizit ein Ausnahmeobjekt zu erstellen. Man kann jeden (!) Datentyp
in JavaScript als Ausnahme werfen. Es kommt nur auf die Anwendung an - eben das Wer-
fen eines Datentyps.
9.4.4.2■Auswerfen von Ausnahmen mit throw
Mit der Erzeugung von selbstdeinierten Ausnahmen alleine ist es nicht getan. Diese müs-
sen auch zu einer speziizierten Situation ausgeworfen werden. Und das machen Sie mit
dem Schlüsselwort throw . Das ist eine Sprunganweisung mit Rückgabewert  - eben das
Ausnahmeobjekt. Verwandt ist die Situation mit dem Aufruf einer return -Ausweisung. Die
Syntax sieht so aus:
Search WWH ::




Custom Search