NestedException, when the exception is finally printed out using any of the printStackTrace() methods, the stack trace will contain the information about all exceptions thrown and caught on the way. Running the following program
1 import org.apache.commons.lang.exception.NestableException; 2 3 public class Test { 4 public static void main( String[] args ) { 5 try { 6 a(); 7 } catch(Exception e) { 8 e.printStackTrace(); 9 } 10 } 11 12 public static void a() throws Exception { 13 try { 14 b(); 15 } catch(Exception e) { 16 throw new NestableException("foo", e); 17 } 18 } 19 20 public static void b() throws Exception { 21 try { 22 c(); 23 } catch(Exception e) { 24 throw new NestableException("bar", e); 25 } 26 } 27 28 public static void c() throws Exception { 29 throw new Exception("baz"); 30 } 31 } Yields the following stack trace:
org.apache.commons.lang.exception.NestableException: foo at Test.a(Test.java:16) at Test.main(Test.java:6) Caused by: org.apache.commons.lang.exception.NestableException: bar at Test.b(Test.java:24) at Test.a(Test.java:14) ... 1 more Caused by: java.lang.Exception: baz at Test.c(Test.java:29) at Test.b(Test.java:22) ... 2 more
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |