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

Reply via email to