Класс 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, 2020, 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/11/docs/api/jdk.jdi/com/sun/jdi/ClassNotLoadedException.html