Bad stacktraces when a ExceptionInInitializerError occurs in a java class
-------------------------------------------------------------------------

                 Key: JRUBY-4923
                 URL: http://jira.codehaus.org/browse/JRUBY-4923
             Project: JRuby
          Issue Type: Bug
          Components: Java Integration
    Affects Versions: JRuby 1.5.1, JRuby 1.5
            Reporter: Reto Schüttel


JRuby produces/prints less-than-optional stack traces when an 
ExceptionInInitializerError occurs. It merely prints the 
"initializer-error"-exception, but ignores the more helpful root causes.


{code}
public class Bar  {
    static {
        if (1 == (1 + 0)) {
          throw new RuntimeException("lets cause an init exception");
        }
    }
}
{code}


{code}
public class App  {
    public void test() {
        new Bar();
    }
}
{code}

and jruby:

{code}
java_import 'App'

a = App.new
a.test
{code}

See also full example on http://github.com/retoo/jruby-init-exception

Ouptut:

{code}
    retoo/App.java:10:in `test': java.lang.ExceptionInInitializerError: null 
(NativeException)
        from test.rb:8
{code}

Java's own output:


{code}
    Exception in thread "main" java.lang.ExceptionInInitializerError
        at retoo.App.test(App.java:10)
        at retoo.App.main(App.java:15)
    Caused by: java.lang.RuntimeException: lets case an init exception
        at retoo.Bar.<clinit>(Bar.java:10)
        ... 2 more
{code}

As you can see the root cause is also printed with Java.

Cheers,
Reto Schüttel


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to