Skip to content

Instantly share code, notes, and snippets.

@jmiettinen
Created November 20, 2012 09:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jmiettinen/4116981 to your computer and use it in GitHub Desktop.
Save jmiettinen/4116981 to your computer and use it in GitHub Desktop.
Exceptions with deep causes. JRuby only shows the latest level, i.e. 'Exception on level 8' without any insight into the deeper causes.
require 'java'
$CLASSPATH << File.expand_path('..', __FILE__)
Java::NestedExceptionTest.new.throw_nested_exceptions 8
public class NestedExceptionTest {
public void throwNestedExceptions(int n) {
if (n > 0) {
try {
throwNestedExceptions(n-1);
} catch (Exception e) {
throw new RuntimeException("Exception on level " + n, e);
}
} else {
throw new RuntimeException("Root cause!");
}
}
public static void main(String[] ignored) {
new NestedExceptionTest().throwNestedExceptions(8);
}
}
@BanzaiMan
Copy link

I don't think Ruby can throw nested exceptions; I believe JRuby mimics this behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment