Интерфейс ExceptionEvent
- Все суперинтерфейсы:
-
Event,Locatable,LocatableEvent,Mirror
public interface ExceptionEvent extends LocatableEvent
Уведомление об исключении в целевой виртуальной машине. Когда возникает исключение, удовлетворяющее в данный момент активному exception request, в очередь событий виртуальной машины добавляется event set, содержащий экземпляр этого класса. Если исключение выброшено из неродного метода, событие исключения генерируется в месте выброса исключения. Если исключение выброшено из родного метода, событие исключения генерируется в первом неродном месте, достигнутом после выброса исключения.
- С момента:
- 1.3
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
Location |
catchLocation() |
Получает место, где будет поймано исключение. |
ObjectReference |
exception() |
Получает объект выброшенного исключения. |
Методы, объявленные в интерфейсе com.sun.jdi.event.Event
request
Методы, объявленные в интерфейсе com.sun.jdi.Locatable
location
Методы, объявленные в интерфейсе com.sun.jdi.event.LocatableEvent
thread
Методы, объявленные в интерфейсе com.sun.jdi.Mirror
toString, virtualMachine
Методы
exception
ObjectReference exception()
Получает объект выброшенного исключения. Объект исключения является экземпляром Throwable или подкласса в целевой виртуальной машине.
- Возвращает:
- an
ObjectReference, который отражает выброшенный объект в целевой виртуальной машине.
catchLocation
Location catchLocation()
Получает место, где будет поймано исключение. Исключение считается пойманным, если в момент выброса текущее местоположение динамически заключено в оператор try, который обрабатывает исключение. (См. спецификацию JVM для получения подробностей). Если такой оператор try существует, местоположение catch — это первый индекс кода соответствующего блока catch.
Если в стеке вызовов в момент возникновения исключения есть родные методы, необходимо учесть важные ограничения относительно возвращаемого места catch. В таких случаях невозможно предсказать, будет ли исключение обработано каким-либо родным методом в стеке вызовов. Таким образом, возможно, что исключения, считающиеся непойманными здесь, фактически будут обработаны родным методом и не вызовут завершения целевой виртуальной машины. Кроме того, нельзя предполагать, что местоположение catch, возвращаемое здесь, когда-либо будет достигнуто потоком, выбросившим исключение. Если между текущим местом и местом catch находится родной фрейм, исключение может быть обработано и удалено в этом родном методе вместо этого.
Обратите внимание, что компилятор может генерировать блоки try-catch в некоторых случаях, когда они не явны в исходном коде; например, код, сгенерированный для synchronized и finally блоков, может содержать неявные блоки try-catch. Если такой неявный try-catch присутствует в стеке вызовов в момент выброса, исключение будет считаться пойманным, даже если из просмотра исходного кода это не очевидно.
- Возвращает:
- the
Locationwhere the exception will be caught or null if the exception is uncaught.
© 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/event/ExceptionEvent.html