Package org.springframework.core
Class NestedRuntimeException
- java.lang.Object
- java.lang.Throwable
- java.lang.Exception
- java.lang.RuntimeException
- org.springframework.core.NestedRuntimeException
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AnnotationConfigurationException
,AopConfigException
,AopInvocationException
,BeansException
,BshScriptUtils.BshExecutionException
,CodecException
,ConversionException
,DataAccessException
,EjbAccessException
,HandshakeFailureException
,HttpMessageConversionException
,JmsException
,JmxException
,JndiLookupFailureException
,JobMethodInvocationFailedException
,MailException
,MessagingException
,MultipartException
,RemoteAccessException
,ResponseStatusException
,RestClientException
,SchedulingException
,ScriptCompilationException
,SerializationFailedException
,SockJsException
,StompConversionException
,TransactionException
,UnsupportedMediaTypeException
,WebClientException
,XmlMappingException
public abstract class NestedRuntimeException extends RuntimeException
Handy class for wrapping runtimeExceptions
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
NestedCheckedException
class is unavoidable, as Java forces these two classes to have different superclasses (ah, the inflexibility of concrete inheritance!).- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
getMessage()
,Throwable.printStackTrace()
,NestedCheckedException
, Serialized Form
Constructor Summary
Constructors Constructor Description NestedRuntimeException(String msg)
Construct aNestedRuntimeException
with the specified detail message.NestedRuntimeException(String msg, Throwable cause)
Construct aNestedRuntimeException
with the specified detail message and nested exception.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
contains(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.String
getMessage()
Return the detail message, including the message from the nested exception if there is one.Throwable
getMostSpecificCause()
Retrieve the most specific cause of this exception, that is, either the innermost cause (root cause) or this exception itself.Throwable
getRootCause()
Retrieve the innermost cause of this exception, if any.Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Constructor Detail
NestedRuntimeException
public NestedRuntimeException(String msg)
Construct aNestedRuntimeException
with the specified detail message.- Parameters:
msg
- the detail message
NestedRuntimeException
public NestedRuntimeException(@Nullable String msg, @Nullable Throwable cause)
Construct aNestedRuntimeException
with the specified detail message and nested exception.- Parameters:
msg
- the detail messagecause
- the nested exception
Method Detail
getMessage
@Nullable public String getMessage()
Return the detail message, including the message from the nested exception if there is one.- Overrides:
getMessage
in classThrowable
getRootCause
@Nullable public Throwable getRootCause()
Retrieve the innermost cause of this exception, if any.- Returns:
- the innermost exception, or
null
if none - Since:
- 2.0
getMostSpecificCause
public Throwable getMostSpecificCause()
Retrieve the most specific cause of this exception, that is, either the innermost cause (root cause) or this exception itself.Differs from
getRootCause()
in that it falls back to the present exception if there is no root cause.- Returns:
- the most specific cause (never
null
) - Since:
- 2.0.3
contains
public boolean contains(@Nullable 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.- Parameters:
exType
- the exception type to look for- Returns:
- whether there is a nested exception of the specified type