On Dec 1, 9:41 am, Norris Boyd <[EMAIL PROTECTED]> wrote: > On Nov 30, 2:16 pm, "Peter Michaux" <[EMAIL PROTECTED]> wrote: > > > > > I found this idea about Rhino extensions to error objects. > > >http://groups.google.com/group/mozilla.dev.tech.js-engine.rhino/msg/f... > > > When I execute the following I see "nothing" no matter which "throw" > > line is used. > > > try { > > throw new java.lang.Exception('hi'); > > // throw new Error('hi'); > > // throw "asdf"; > > } > > catch (e) { > > > java.lang.System.out.println("vvvvvvvvvvvvvvvvvvvvvvvvv"); > > > if (e.rhinoException != null) { > > e.rhinoException.printStackTrace(); > > } > > else if (e.javaException != null) { > > e.javaException.printStackTrace(); > > } > > else { > > java.lang.System.out.println("nothing"); > > } > > java.lang.System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^"); > > > } > > > Is there a special version of Rhino that is needed for this or do I > > need to set some flag or something else to get the extensions? > > > Thanks, > > Peter > > Does this work for you? > > js> function g() { > > try { > > Packages.Test.f(); > > } catch (e if e instanceof MyError) { > > print("caught"); > > } > > } > js> function MyError() { } > js> g() > org.mozilla.javascript.WrappedException: Wrapped Test$MyException > (<stdin>#19) > at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java: > 1773) > at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:183) > at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java: > 247) > at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java: > 3331) > at script.g(<stdin>:19) > at script(<stdin>:19) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java: > 2487) > at org.mozilla.javascript.InterpretedFunction.call > (InterpretedFunction.java:164) > at org.mozilla.javascript.ContextFactory.doTopCall > (ContextFactory.java:398) > at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java: > 3056) > at org.mozilla.javascript.InterpretedFunction.exec > (InterpretedFunction.java:175) > at org.mozilla.javascript.tools.shell.Main.evaluateScript(Main.java: > 564) > at org.mozilla.javascript.tools.shell.Main.processSource(Main.java: > 424) > at org.mozilla.javascript.tools.shell.Main.processFiles(Main.java: > 196) > at org.mozilla.javascript.tools.shell.Main$IProxy.run(Main.java:117) > at org.mozilla.javascript.Context.call(Context.java:515) > at org.mozilla.javascript.ContextFactory.call(ContextFactory.java: > 507) > at org.mozilla.javascript.tools.shell.Main.exec(Main.java:179) > at org.mozilla.javascript.tools.shell.Main.main(Main.java:157) > Caused by: Test$MyException > at Test.f(Test.java:4) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:161) > ... 15 more
(In case it's not obvious, I replied before I saw Kris's post.) --N _______________________________________________ dev-tech-js-engine-rhino mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino
