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

Reply via email to