## 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:
  AopConfigException, AopInvocationException, BeansException, BshScriptUtils.BshExecutionException, DataAccessException, EjbAccessException, HandlerMethodInvocationException, JmsException, JmxException, JndiLookupFailureException, JobMethodInvocationFailedException, JRubyScriptUtils.JRubyExecutionException, MailException, MultipartException, RemoteAccessException, SchedulingException, ScriptCompilationException, TaskRejectedException, TransactionException

    public abstract class NestedRuntimeException

extends RuntimeException

Handy class for wrapping runtime `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 `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
`NestedRuntimeException(String msg)` Construct a `NestedRuntimeException` with the specified detail message.
`NestedRuntimeException(String msg, Throwable cause)` Construct a `NestedRuntimeException` with the specified detail message and nested exception.

Method Summary
`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
`fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### NestedRuntimeException

    public NestedRuntimeException(String msg)

  Construct a `NestedRuntimeException` with the specified detail message.

  Parameters:
    `msg` - the detail message

### NestedRuntimeException

    public NestedRuntimeException(String msg,
                                  Throwable cause)

  Construct a `NestedRuntimeException` with the specified detail message and nested exception.

  Parameters:
    `msg` - the detail message
    `cause` - the nested exception

Method Detail

### getMessage

    public String getMessage()

  Return the detail message, including the message from the nested exception if there is one.

  Overrides:
    `getMessage` in class `Throwable`

### getRootCause

    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(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

Copyright © 2002-2008 The Spring Framework.