Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| The Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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, JmsException, JmxException, JndiLookupFailureException, JRubyScriptUtils.JRubyExecutionException, MailException, RemoteAccessException, SchedulingException, ScriptCompilationException, TaskRejectedException, TransactionException

    public abstract class NestedRuntimeException

extends RuntimeException

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.

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()`, `printStackTrace(java.io.PrintStream)`, `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.
`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.
`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.
`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.

Methods inherited from class java.lang.Throwable
`fillInStackTrace, getLocalizedMessage, getStackTrace, initCause, 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

### getCause

    public Throwable getCause()

  Return the nested cause, or `null` if none.

  Note that this will only check one level of nesting. Use `getRootCause()` to retrieve the innermost cause.

  Overrides:
    `getCause` in class `Throwable`

### getMessage

    public String getMessage()

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

  Overrides:
    `getMessage` in class `Throwable`

### printStackTrace

    public void printStackTrace(PrintStream ps)

  Print the composite message and the embedded stack trace to the specified stream.

  Overrides:
    `printStackTrace` in class `Throwable`
  Parameters:
    `ps` - the print stream

### printStackTrace

    public void printStackTrace(PrintWriter pw)

  Print the composite message and the embedded stack trace to the specified writer.

  Overrides:
    `printStackTrace` in class `Throwable`
  Parameters:
    `pw` - the print writer

### getRootCause

    public Throwable getRootCause()

  Retrieve the innermost cause of this exception, if any.

  Currently just traverses `NestedRuntimeException` causes. Will use the JDK 1.4 exception cause mechanism once Spring requires JDK 1.4.

  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.

  Currently just traverses `NestedRuntimeException` causes. Will use the JDK 1.4 exception cause mechanism once Spring requires JDK 1.4.

  Parameters:
    `exType` - the exception type to look for
  Returns:
    whether there is a nested exception of the specified type

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| The Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2007 The Spring Framework.