IOException (Java SE 25 & JDK 25)
Description: declaration: module: java.base, package: java.io, class: IOException
Keywords: java.io.IOException class

# 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 Throwable

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

  ### Methods declared in class Object

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

- ## Constructor Details

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