Spec-Zone.ru › OpenJDK 21

Класс ClassNotLoadedException

java.lang.Object
java.lang.Throwable
java.lang.Exception
com.sun.jdi.ClassNotLoadedException
Все реализованные интерфейсы:
Serializable
public class ClassNotLoadedException extends Exception
Выбрасывается для указания, что запрашиваемый класс еще не загружен соответствующим загрузчиком классов.

Из-за отложенной привязки классов, выполняемой многими виртуальными машинами, возможно, что поле или переменная будут видны в программе до загрузки связанного класса. До загрузки класса доступна только строка подписи. Если в JDI производится попытка установить значение такого поля или переменной, соответствующая проверка типа не может быть выполнена, так как целевой класс не загружен. То же самое относится к классу элементов массивов.

Не рекомендуется решать эту проблему, пытаясь загрузить класс на лету в этом случае. Существует две проблемы в том, чтобы отладчик загружал класс вместо ожидания его загрузки в обычном режиме.

  • Нельзя гарантировать, что запуск соответствующего загрузчика классов не приведет к тупиковой ситуации при загрузке класса. Загрузчики классов могут состоять из произвольного кода языка программирования Java, а методы загрузки классов обычно синхронизированы. Большая часть работы отладчика выполняется при приостановке потоков. Если другой поток приложения приостановлен внутри того же загрузчика классов, тупиковая ситуация очень вероятна.
  • Изменение порядка загрузки классов может либо скрыть, либо раскрыть ошибки в приложении. Безвредный отладчик должен стремиться не изменять поведение отлаживаемого приложения.
Для избежания этих потенциальных проблем выбрасывается это исключение.

Обратите внимание, что это исключение будет выбрасываться до тех пор, пока класс не станет видимым для загрузчика классов содержащего класса. (То есть, загрузчик классов содержащего класса должен быть инициатором загрузчика классов для рассматриваемого класса.) Для получения дополнительной информации см. Спецификацию виртуальной машины Java.

С момента:
1.3
См. также:
  • Сериализованная форма

Краткое описание конструкторов

Конструктор Описание
ClassNotLoadedException(String className)
ClassNotLoadedException(String className, String message)

Краткое описание методов

Модификатор и тип Метод Описание
String className()

Методы, объявленные в классе java.lang.Throwable

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

Методы, объявленные в классе java.lang.Object

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

Подробное описание конструкторов

ClassNotLoadedException

public ClassNotLoadedException(String className)

ClassNotLoadedException

public ClassNotLoadedException(String className, String message)

Подробное описание методов

className

public String className()

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.jdi/com/sun/jdi/ClassNotLoadedException.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API