Класс 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, 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