広告

Java : IOException - API使用例

IOException (Java SE 22 & JDK 22) の使い方まとめです。
ほとんどのメソッドにサンプルコードがあります。
APIドキュメントのおともにどうぞ。


概要

何らかの入出力例外の発生を通知するシグナルを発生させます。 このクラスは、入出力処理の失敗、または割り込みの発生によって生成される例外の汎用クラスです。

クラス構成

IOException は、

などで問題があったときに発生する チェック例外 です。

final var path = Path.of("R:", "java-work", "aaa.txt");
System.out.println(path); // R:\java-work\aaa.txt

System.out.println(Files.notExists(path)); // true

try {
    final var str = Files.readString(path);
} catch (IOException e) {
    System.out.println(e);
}

// 結果
// ↓
//java.nio.file.NoSuchFileException: R:\java-work\aaa.txt

コンストラクタ

IOException ()

エラー詳細メッセージとしてnullを設定してIOExceptionを構築します。

final var e = new IOException();
System.out.println(e); // java.io.IOException

IOException (String message)

指定された詳細メッセージを持つIOExceptionを構築します。

final var e = new IOException("abcd");
System.out.println(e); // java.io.IOException: abcd
System.out.println(e.getMessage()); // abcd

IOException (String message, Throwable cause)

指定された詳細メッセージと原因を持つIOExceptionを構築します。

final var cause = new IOException("XYZ");
final var e = new IOException("abcd", cause);

System.out.println(e); // java.io.IOException: abcd
System.out.println(e.getMessage()); // abcd

System.out.println(e.getCause()); // java.io.IOException: XYZ
System.out.println(e.getCause().getMessage()); // XYZ

IOException (Throwable cause)

指定された原因と詳細メッセージ((cause==null ? null : cause.toString()))を持つIOExceptionを構築します(通常、クラスとcauseの詳細メッセージを含みます)。

final var cause = new IOException("XYZ");
final var e = new IOException(cause);

System.out.println(e); // java.io.IOException: java.io.IOException: XYZ

System.out.println(e.getCause()); // java.io.IOException: XYZ
System.out.println(e.getCause().getMessage()); // XYZ

Throwableで宣言されたメソッド

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

Java API 使用例 : Throwable」をご参照ください。


関連記事

ページの先頭へ