広告

Java : ClassNotFoundException - API使用例

ClassNotFoundException (Java SE 21 & JDK 21) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様書のおともにどうぞ。


概要

アプリケーションが、クラスの文字列名を使用して次のメソッドでロードしようとしたが、指定された名前のクラスの定義が見つからなかった場合にスローされます。

クラス構成

ClassNotFoundException は、クラス名の文字列から Class クラスを取得しようとして、そのクラスが見つからないときに発生するチェック例外です。

public class Foo {
}
public class Main {
    public static void main(String[] args) {
        try {
            // 存在するクラス名を指定。
            final var foo = Class.forName("Foo");
            System.out.println("foo : " + foo);

            // 存在しないクラス名を指定。
            final var bar = Class.forName("Bar");

        } catch (ClassNotFoundException e) {
            System.out.println("ClassNotFoundException! : " + e.getMessage());
        }
    }
}

// 結果
// ↓
//> java Main
//foo : class Foo
//ClassNotFoundException! : Bar

コンストラクタ

ClassNotFoundException ()

詳細メッセージなしでClassNotFoundExceptionを構築します。

final var e = new ClassNotFoundException();
System.out.println(e); // java.lang.ClassNotFoundException

ClassNotFoundException (String s)

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

final var e = new ClassNotFoundException("abcde");
System.out.println(e); // java.lang.ClassNotFoundException: abcde
System.out.println(e.getMessage()); // abcde

ClassNotFoundException (String s, Throwable ex)

指定された詳細メッセージと、クラスのロード時に生じたオプションの例外を持つ、ClassNotFoundExceptionを構築します。

final var ex = new ClassNotFoundException("XYZ");
final var e = new ClassNotFoundException("abc", ex);
System.out.println(e); // java.lang.ClassNotFoundException: abc
System.out.println(e.getMessage()); // abc

System.out.println(e.getException()); // java.lang.ClassNotFoundException: XYZ
System.out.println(e.getException().getMessage()); // XYZ

メソッド

Throwable getException ()

クラスのロードを試みているときにエラーが発生した場合は生じた例外を返します。

final var ex = new ClassNotFoundException("XYZ");
final var e = new ClassNotFoundException("abc", ex);
System.out.println(e); // java.lang.ClassNotFoundException: abc
System.out.println(e.getMessage()); // abc

System.out.println(e.getException()); // java.lang.ClassNotFoundException: XYZ
System.out.println(e.getException().getMessage()); // XYZ

Throwableで宣言されたメソッド

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

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


関連記事

ページの先頭へ