org.springframework.core

## Class NestedIOException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.io.IOException
      - - org.springframework.core.NestedIOException

- All Implemented Interfaces:
    Serializable

      public class NestedIOException
      extends IOException

  Subclass of `IOException` that properly handles a root cause, exposing the root cause just like NestedChecked/RuntimeException does.

  Proper root cause handling has not been added to standard IOException before Java 6, which is why we need to do it ourselves for Java 5 compatibility purposes.

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

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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NestedIOException(String msg)` Construct a `NestedIOException` with the specified detail message.
    `NestedIOException(String msg, Throwable cause)` Construct a `NestedIOException` 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 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

    - #### NestedIOException

          public NestedIOException(String msg)

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

    - #### NestedIOException

          public NestedIOException(String msg,
                           Throwable cause)

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