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
_______________________________________________
dev-tech-js-engine-rhino mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino