org.hibernate.exception
Class NestableException
Exception
org.hibernate.exception.NestableException
- Nestable
public class NestableException
extends Exception
The base class of all exceptions which can contain other exceptions.
It is intended to ease the debugging by carrying on the information
about the exception which was caught and provoked throwing the
current exception. Catching and rethrowing may occur multiple
times, and provided that all exceptions except the first one
are descendands of
NestedException
, when the
exception is finally printed out using any of the
printStackTrace()
methods, the stacktrace 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 stacktrace:
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
$Id: NestableException.java 4782 2004-11-21 00:11:27Z pgmjsd $
NestableException() - Constructs a new
NestableException without specified
detail message.
|
NestableException(String msg) - Constructs a new
NestableException with specified
detail message.
|
NestableException(String msg, Throwable cause) - Constructs a new
NestableException with specified
detail message and nested Throwable .
|
NestableException(Throwable cause) - Constructs a new
NestableException with specified
nested Throwable .
|
delegate
protected NestableDelegate delegate
The helper instance which contains much of the code which we
delegate to.
NestableException
public NestableException()
Constructs a new NestableException
without specified
detail message.
NestableException
public NestableException(String msg)
Constructs a new NestableException
with specified
detail message.
NestableException
public NestableException(String msg,
Throwable cause)
Constructs a new NestableException
with specified
detail message and nested Throwable
.
msg
- the error messagecause
- the exception or error that caused this exception to be
thrown
NestableException
public NestableException(Throwable cause)
Constructs a new NestableException
with specified
nested Throwable
.
cause
- the exception or error that caused this exception to be
thrown
getMessage
public String getMessage()
Returns the detail message string of this throwable. If it was
created with a null message, returns the following:
( cause==null ? null : cause.toString() ).
- getMessage in interface Nestable
printStackTrace
public void printStackTrace()