public class NestedRuntimeException extends RuntimeException
Copied from Spring framework to keep Java 1.3 compatability.
Handy class for wrapping runtime Exceptions with a root cause.
This time-honoured technique is no longer necessary in Java 1.4, which finally provides built-in support for exception nesting. Thus exceptions in applications written to use Java 1.4 need not extend this class. To ease migration, this class mirrors Java 1.4's nested exceptions as closely as possible.
Abstract to force the programmer to extend the class. getMessage
will include nested exception information; printStackTrace
etc will
delegate to the wrapped exception, if any.
The similarity between this class and the NestedCheckedException class is unavoidable, as Java forces these two classes to have different superclasses (ah, the inflexibility of concrete inheritance!).
As discussed in Expert One-On-One J2EE Design and Development, runtime exceptions are often a better alternative to checked exceptions. However, all exceptions should preserve their stack trace, if caused by a lower-level exception.
getMessage()
,
printStackTrace(java.io.PrintStream)
,
NestedCheckedException
,
Serialized FormConstructor and Description |
---|
NestedRuntimeException(String msg,
Throwable ex)
Construct a
NestedRuntimeException with the specified detail message
and nested exception. |
NestedRuntimeException(Throwable ex)
Construct a
NestedRuntimeException with the specified nested exception. |
Modifier and Type | Method and Description |
---|---|
Throwable |
getCause()
Return the nested cause, or
null if none. |
String |
getMessage()
Return the detail message, including the message from the nested exception
if there is one.
|
void |
printStackTrace(PrintStream ps)
Print the composite message and the embedded stack trace to the specified stream.
|
void |
printStackTrace(PrintWriter pw)
Print the composite message and the embedded stack trace to the specified writer.
|
addSuppressed, fillInStackTrace, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, setStackTrace, toString
public NestedRuntimeException(String msg, Throwable ex)
NestedRuntimeException
with the specified detail message
and nested exception.msg
- the detail messageex
- the nested exceptionpublic NestedRuntimeException(Throwable ex)
NestedRuntimeException
with the specified nested exception.ex
- the nested exceptionpublic Throwable getCause()
null
if none.
Note that this will only check one level of nesting.
Use getRootCause()
to retrieve the innermost cause.
public String getMessage()
getMessage
in class Throwable
public void printStackTrace(PrintStream ps)
printStackTrace
in class Throwable
ps
- the print streampublic void printStackTrace(PrintWriter pw)
printStackTrace
in class Throwable
pw
- the print writerCopyright © 2004–2013 The Apache Software Foundation. All rights reserved.