Интерфейс ExceptionCatch
- Все суперинтерфейсы:
ClassFileElement, CodeElement, PseudoInstruction
public sealed interface ExceptionCatch extends PseudoInstruction
Псевдоинструкция, моделирующая запись в массиве
exception_table атрибута Code. Блоки catch (JVMS 3.12) и finally (JVMS 3.14) в исходном коде Java компилируются в записи таблицы исключений. Передаётся как CodeElement при обходе содержимого CodeModel. Запись таблицы исключений является составной:
ExceptionCatch(
Label handler,
Label tryStart,
Label tryEnd,
Optional<ClassEntry> catchType
)
- См. Спецификацию виртуальной машины Java:
- 4.7.3 Атрибут
Code
- Начиная с версии:
- 24
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Optional |
catchType() |
Возвращает тип перехватываемого исключения или пустое значение, если этот обработчик перехватывает все исключения. |
Label |
handler() |
Возвращает обработчик исключения. |
static ExceptionCatch |
of |
Возвращает псевдоинструкцию таблицы исключений для перехвата всех исключений. |
static ExceptionCatch |
of |
Возвращает псевдоинструкцию таблицы исключений. |
Label |
tryEnd() |
Возвращает конец диапазона инструкций для инструкций, защищённых обработчиком. |
Label |
tryStart() |
Возвращает начало диапазона инструкций для инструкций, защищённых обработчиком. |
Подробное описание методов
handler
Label handler()
Возвращает обработчик исключения.
- Возвращает:
- обработчик исключения
tryStart
Label tryStart()
Возвращает начало диапазона инструкций для инструкций, защищённых обработчиком.
- Возвращает:
- начало диапазона инструкций для инструкций, защищённых обработчиком
tryEnd
Label tryEnd()
Возвращает конец диапазона инструкций для инструкций, защищённых обработчиком.
- Возвращает:
- конец диапазона инструкций для инструкций, защищённых обработчиком
catchType
Optional<ClassEntry> catchType()
Возвращает тип перехватываемого исключения или пустое значение, если этот обработчик перехватывает все исключения.
- Возвращает:
- тип перехватываемого исключения или пустое значение, если этот обработчик перехватывает все исключения
of
static ExceptionCatch of(Label handler, Label tryStart, Label tryEnd, Optional<ClassEntry> catchTypeEntry)
Возвращает псевдоинструкцию таблицы исключений.
- Параметры:
-
handler— обработчик исключения -
tryStart— начало диапазона инструкций для инструкций, защищённых обработчиком -
tryEnd— конец диапазона инструкций для инструкций, защищённых обработчиком -
catchTypeEntry— тип перехватываемого исключения или пустое значение, если этот обработчик является безусловным - Возвращает:
- псевдоинструкцию таблицы исключений
of
static ExceptionCatch of(Label handler, Label tryStart, Label tryEnd)
Возвращает псевдоинструкцию таблицы исключений для перехвата всех исключений.
- Параметры:
-
handler— обработчик исключения -
tryStart— начало диапазона инструкций для инструкций, защищённых обработчиком -
tryEnd— конец диапазона инструкций для инструкций, защищённых обработчиком - Возвращает:
- псевдоинструкцию таблицы исключений для перехвата всех исключений
© 1993, 2025, 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/25/docs/api/java.base/java/lang/classfile/instruction/ExceptionCatch.html