| Andreas Rozek |
|
Rhino_22 - Java-AusnahmenZur Auswertung von Java-Methoden gehört auch das Abfangen und Behandeln evtl. geworfener Ausnahmen. "Rhino_22" befaßt sich mit diesem Problem. Der Java-Teil des Beispieles definiert zu diesem Zweck zwei Methoden, die nichts anderes bewirken als je eine Java- und eine JavaScript-Ausnahme zu werfen - letztere wahlweise als "Wrapper" um eine Java-Ausnahme oder als "eigenständige" Ausnahme. Im JavaScript-Teil werden diese Methoden der Reihe nach aufgerufen und die geworfenen Ausnahmen abgefangen. Zusätzlich wird der Laufzeitumgebung eine Ausnahme "abgerungen" und deren Behandlung versucht. Das Programm wird ohne weitere Parameter aufgerufen java Rhino Rhino_22.js und liefert folgende Ausgabe: Rhino_22 - experiments with exceptions thrown from within Java trying to catch a Java exception caught Java exception: - class: class java.lang.NullPointerException - localizedMessage: (thrown from within Java) - message: (thrown from within Java) trying to catch a JavaScript exception caught JavaScript exception: - class: class java.lang.NullPointerException - localizedMessage: (thrown from within Java) - message: (thrown from within Java) trying to catch another JavaScript exception caught JavaScript exception: (no enumerable properties found) trying to catch an exception thrown by the run-time environment error while evaluating file "Rhino_22.js" (reason: "Rhino$RhinoException: Rhino.sleep: infinite "Duration" given") Zu den wichtigen Erkentnissen aus diesem Beispiel gehören:
Man beachte übrigens auch die unterschiedliche Groß-/Kleinschreibung der "message"-Eigenschaft im Vergleich zu Java! QuelltexteAlle hier vorgestellten Programme und Skripte sind im Quelltext verfügbar: |
| http://www.Andreas-Rozek.de/Rhino/Acquainting/Rhino_22.html | (letzter Stand: 06.04.2002) |