IOException (Java SE 11 & JDK 11 )
Keywords: java.io.IOException class

Module java.base
Package java.io

## Class IOException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.io.IOException

- All Implemented Interfaces:
    `Serializable`
  Direct Known Subclasses:
    `AttachOperationFailedException`, `ChangedCharSetException`, `CharacterCodingException`, `CharConversionException`, `ClosedChannelException`, `ClosedConnectionException`, `EOFException`, `FileLockInterruptionException`, `FileNotFoundException`, `FilerException`, `FileSystemException`, `HttpRetryException`, `HttpTimeoutException`, `IIOException`, `InterruptedByTimeoutException`, `InterruptedIOException`, `InvalidPropertiesFormatException`, `JMXProviderException`, `JMXServerErrorException`, `MalformedURLException`, `ObjectStreamException`, `ProtocolException`, `RemoteException`, `SaslException`, `SocketException`, `SSLException`, `SyncFailedException`, `TransportTimeoutException`, `UnknownHostException`, `UnknownServiceException`, `UnsupportedEncodingException`, `UserPrincipalNotFoundException`, `UTFDataFormatException`, `WebSocketHandshakeException`, `ZipException`

      public class IOException
      extends Exception

  Signals that an I/O exception of some sort has occurred. This class is the general class of exceptions produced by failed or interrupted I/O operations.
  Since:
    1.0
  See Also:
    `InputStream`, `OutputStream`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `IOException()` | Constructs an `IOException` with `null` as its error detail message.
    `IOException​(String message)` | Constructs an `IOException` with the specified detail message.
    `IOException​(String message, Throwable cause)` | Constructs an `IOException` with the specified detail message and cause.
    `IOException​(Throwable cause)` | Constructs an `IOException` with the specified cause and a detail message of `(cause==null ? null : cause.toString())` (which typically contains the class and detail message of `cause`).

  - ### Method Summary

    - ### Methods declared in class java.lang.Throwable

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### IOException

          public IOException()

      Constructs an `IOException` with `null` as its error detail message.

    - #### IOException

          public IOException​(String message)

      Constructs an `IOException` with the specified detail message.
      Parameters:
        `message` - The detail message (which is saved for later retrieval by the `Throwable.getMessage()` method)

    - #### IOException

          public IOException​(String message,
                             Throwable cause)

      Constructs an `IOException` with the specified detail message and cause.

      Note that the detail message associated with `cause` is not automatically incorporated into this exception's detail message.

      Parameters:
        `message` - The detail message (which is saved for later retrieval by the `Throwable.getMessage()` method)
        `cause` - The cause (which is saved for later retrieval by the `Throwable.getCause()` method). (A null value is permitted, and indicates that the cause is nonexistent or unknown.)
      Since:
        1.6

    - #### IOException

          public IOException​(Throwable cause)

      Constructs an `IOException` with the specified cause and a detail message of `(cause==null ? null : cause.toString())` (which typically contains the class and detail message of `cause`). This constructor is useful for IO exceptions that are little more than wrappers for other throwables.
      Parameters:
        `cause` - The cause (which is saved for later retrieval by the `Throwable.getCause()` method). (A null value is permitted, and indicates that the cause is nonexistent or unknown.)
      Since:
        1.6