public abstract class NestedCheckedException
extends java.lang.Exception
Exceptions
with a root cause.
This class is abstract
to force the programmer to extend
the class. getMessage
will include nested exception
information; printStackTrace
and other like methods will
delegate to the wrapped exception, if any.
The similarity between this class and the NestedRuntimeException
class is unavoidable, as Java forces these two classes to have different
superclasses (ah, the inflexibility of concrete inheritance!).
getMessage()
,
Throwable.printStackTrace()
,
NestedRuntimeException
,
Serialized FormConstructor and Description |
---|
NestedCheckedException(java.lang.String msg)
Construct a
NestedCheckedException with the specified detail message. |
NestedCheckedException(java.lang.String msg,
java.lang.Throwable cause)
Construct a
NestedCheckedException with the specified detail message
and nested exception. |
Modifier and Type | Method and Description |
---|---|
boolean |
contains(java.lang.Class<?> exType)
Check whether this exception contains an exception of the given type:
either it is of the given class itself or it contains a nested cause
of the given type.
|
java.lang.String |
getMessage()
Return the detail message, including the message from the nested exception
if there is one.
|
java.lang.Throwable |
getMostSpecificCause()
Retrieve the most specific cause of this exception, that is,
either the innermost cause (root cause) or this exception itself.
|
java.lang.Throwable |
getRootCause()
Retrieve the innermost cause of this exception, if any.
|
public NestedCheckedException(java.lang.String msg)
NestedCheckedException
with the specified detail message.msg
- the detail messagepublic NestedCheckedException(java.lang.String msg, java.lang.Throwable cause)
NestedCheckedException
with the specified detail message
and nested exception.msg
- the detail messagecause
- the nested exceptionpublic java.lang.String getMessage()
getMessage
in class java.lang.Throwable
public java.lang.Throwable getRootCause()
null
if nonepublic java.lang.Throwable getMostSpecificCause()
Differs from getRootCause()
in that it falls back
to the present exception if there is no root cause.
null
)public boolean contains(java.lang.Class<?> exType)
exType
- the exception type to look for