クラスClassNotLoadedException
java.lang.Object
java.lang.Throwable
java.lang.Exception
com.sun.jdi.ClassNotLoadedException
- すべての実装されたインタフェース:
Serializable
public class ClassNotLoadedException extends Exception
要求されたクラスが適切なクラス・ローダーによってロードされていないことを示すためにスローされます。
多数のVMにより実行される遅延クラス・リンクのため、関連しているクラスがロードされる前にフィールドまたは変数がプログラム内で認識可能な状態になる可能性があります。 クラスがロードされるまでの間に利用可能なのは、シグニチャ文字列だけです。 このようなフィールドまたは変数にJDIから値を設定しようとすると、目的のクラスがロードされていないために、適切な型チェックを行うことができません。 配列要素の要素クラスについても同じことが言えます。
この場合、すぐにクラスをロードして問題を解決しようとすることはお勧めできません。 イベントの通常の過程に従ってロードされるのを待たずにデバッガでクラスをロードすることには、2つの問題があります。
- 適切なクラス・ローダーが実行されてクラスのローディングにデッドロックが発生しないことが保証されません。 クラス・ローダーは任意のJavaプログラミング言語コードで構成でき、クラス・ロード・メソッドは通常同期化されます。 デバッガが行う作業のほとんどは、スレッドが中断しているときに発生します。 同一のクラス・ローダー内で別のアプリケーション・スレッドが中断している場合、デッドロックが発生する可能性が高くなります。
- クラスの通常のロード順序を変更することにより、アプリケーション内のバグが見えたり隠れたりします。 侵入的でないデバッガでは、デバッグされるアプリケーションの動作を変えないように努めなければいけません。
この例外は、該当のクラスが囲むクラスのクラス・ローダーから認識可能になるまでスローされます。 つまり、囲むクラスのクラス・ローダーは、該当クラスの起動クラス・ローダーになります。 詳細は、「Java Virtual Machine仕様」を参照してください。
- 導入されたバージョン:
- 1.3
- 関連項目:
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明ClassNotLoadedException(String className) ClassNotLoadedException(String className, String message) -
メソッドのサマリー
Throwableクラスで宣言されたメソッド
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString修飾子と型メソッド説明final voidaddSuppressed(Throwable exception) この例外を提供する目的で抑制された例外に、指定された例外を追加します。実行スタック・トレースを埋め込みます。getCause()このスロー可能オブジェクトの原因を返しますが、原因が存在しないか不明な場合はnullを返します。このスロー可能オブジェクトの、ローカライズされた記述を作成します。このスロー可能オブジェクトの詳細メッセージ文字列を返します。Throwable.printStackTrace()によって出力されるスタック・トレース情報にプログラムでアクセスできるようにします。final Throwable[]この例外を提供する目的で(通常try-with-resources文によって)抑制された例外をすべて含む配列を返します。このスロー可能オブジェクトの原因を、指定された値に初期化します。voidこのスロー可能オブジェクトおよびそのバックトレースを標準エラー・ストリームに出力します。voidこのスロー可能オブジェクトとそのバックトレースを指定された印刷ストリームに出力します。voidこのスロー可能オブジェクトとそのバックトレースを指定されたプリント・ライターに出力します。voidsetStackTrace(StackTraceElement[] stackTrace) Throwable.getStackTrace()によって返され、Throwable.printStackTrace()と関連メソッドによって出力される、スタック・トレース要素を設定します。toString()このスロー可能オブジェクトの短い記述を返します。クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。