org.springframework.web.util

## Class NestedServletException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - javax.servlet.ServletException
      - - org.springframework.web.util.NestedServletException

- All Implemented Interfaces:
    Serializable
  Direct Known Subclasses:
    ServletRequestBindingException

      public class NestedServletException
      extends ServletException

  Subclass of `ServletException` that properly handles a root cause in terms of message and stacktrace, just like NestedChecked/RuntimeException does.

  Note that the plain ServletException doesn't expose its root cause at all, neither in the exception message nor in printed stack traces! While this might be fixed in later Servlet API variants (which even differ per vendor for the same API version), it is not reliably available on Servlet 2.4 (the minimum version required by Spring 3.x), which is why we need to do it ourselves.

  The similarity between this class and the NestedChecked/RuntimeException class is unavoidable, as this class needs to derive from ServletException.

  Since:
    1.2.5
  Author:
    Juergen Hoeller
  See Also:
    `getMessage()`, `Throwable.printStackTrace()`, `NestedCheckedException`, `NestedRuntimeException`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NestedServletException(String msg)` Construct a `NestedServletException` with the specified detail message.
    `NestedServletException(String msg, Throwable cause)` Construct a `NestedServletException` with the specified detail message and nested exception.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getMessage()` Return the detail message, including the message from the nested exception if there is one.

    - ### Methods inherited from class javax.servlet.ServletException

      `getRootCause`

    - ### Methods inherited from class java.lang.Throwable

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, 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

    - #### NestedServletException

          public NestedServletException(String msg)

      Construct a `NestedServletException` with the specified detail message.
      Parameters:
        `msg` - the detail message

    - #### NestedServletException

          public NestedServletException(String msg,
                                Throwable cause)

      Construct a `NestedServletException` 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`