Класс ClassNotLoadedException
- Все реализованные интерфейсы:
Serializable
public class ClassNotLoadedException extends Exception
Из-за ленивой привязки классов, выполняемой многими виртуальными машинами, возможно, что поле или переменная будут видны в программе до загрузки связанного с ним класса. До загрузки класса доступна только строка подписи. Если выполняется попытка установить значение такого поля или переменной из JDI, соответствующая проверка типов не может быть выполнена, поскольку целевой класс ещё не загружен. То же самое относится к классу элементов массивов.
Не рекомендуется решать эту проблему путём попытки загрузки класса на лету в данном случае. Существует две проблемы в том, чтобы дебаггер загружал класс вместо ожидания его загрузки в обычном режиме.
- Нет никакой гарантии, что выполнение соответствующего загрузчика классов не приведёт к тупиковой ситуации при загрузке класса. Загрузчики классов могут состоять из произвольного кода языка программирования Java, а методы загрузки классов обычно синхронизированы. Большая часть работы, выполняемой дебаггером, происходит при приостановке потоков. Если другой поток приложения приостановлен внутри того же загрузчика классов, тупиковая ситуация очень вероятна.
- Изменение порядка, в котором обычно загружаются классы, может либо скрыть, либо выявить ошибки в приложении. Ненавязчивый дебаггер должен стремиться не изменять поведение отлаживаемого приложения.
Обратите внимание, что это исключение будет выбрасываться до тех пор, пока класс не будет виден загрузчику классов содержащего класса. (То есть, загрузчик классов содержащего класса должен быть *инициализирующим* загрузчиком классов для данного класса.) См. Спецификацию виртуальной машины Java для получения более подробной информации.
- С:
- 1.3
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ClassNotLoadedException |
|
ClassNotLoadedException |
Краткое описание методов
Методы, объявленные в классе java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Подробное описание конструкторов
ClassNotLoadedException
public ClassNotLoadedException(String className)
ClassNotLoadedException
public ClassNotLoadedException(String className, String message)
Подробное описание методов
className
public String className()
© 1993, 2021, 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/17/docs/api/jdk.jdi/com/sun/jdi/ClassNotLoadedException.html