harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Evgueni Brevnov" <evgueni.brev...@gmail.com>
Subject [drlvm] Should the launcher print uncaught exceptions?
Date Thu, 21 Sep 2006 07:01:31 GMT
Hi All,

I'm almost done with the implementation of Invocation API for DRLVM.
While testing it I ran into a problem when an exception is printed
twice. I created a simple application which just throws an error and
it is not handled by any exception handler:

public class Test {
    public static void main(String [] args) {
        throw new Error("my");
    }
}

In this case the launcher calls env->ExceptionDescribe() before
destroying VM.  Then it calls DestroyJavaVM() which identifies
unhanded exception and calls an uncaught exception handler (see
java.lang.Thread.getUncaughtExceptionHandler()) for the current
thread. By default the handler prints the exception one more time.
That's definitely differs from RI where the exception is printed out
only once.

To identify where the problem is I created another simple test and
runs it on RI and DRLVM:

public class Test {

    static class MyHandler implements Thread.UncaughtExceptionHandler {
        public void uncaughtException(Thread t, Throwable e) {
            System.out.println("My Handler Called!!!");
        }
    }

    public static void main(String [] args) {
        Thread.currentThread().setUncaughtExceptionHandler(new MyHandler());
        throw new Error("my");
    }
}

Here is the output:

RI: java.exe Test
My Handler Called!!!

DRLVM: java.exe Test
java/lang/Error : my
at Test.main (Test.java: 12)
My Handler Called!!!

As you can see RI doesn't print exception stack trace at all. But
DRLVM does. To be precise the launcher does. So we need to fix the
launcher.....

Note: The behaviour of DRLVM you have may differ from listed above
since all experiments were done on my local workspace with Invocation
API implemented.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message