Интерфейс CodeBuilder.CatchBuilder
- Включающий интерфейс:
CodeBuilder
public static sealed interface CodeBuilder.CatchBuilder
- С момента:
- 24
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
CodeBuilder.CatchBuilder |
catching |
Добавляет блок catch, который перехватывает исключение заданного типа. |
void |
catchingAll |
Добавляет блок "catch", который перехватывает все исключения. |
CodeBuilder.CatchBuilder |
catchingMulti |
Добавляет блок catch, который перехватывает исключения заданных типов. |
Подробное описание методов
catching
CodeBuilder.CatchBuilder catching(ClassDesc exceptionType, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler)
Перехваченное исключение будет находиться в верхней части стека операндов при входе в блок catch.
Метка CodeBuilder.BlockCodeBuilder.breakLabel() для блока catch соответствует метке выхода из блока tryHandler в CodeBuilder.trying(java.util.function.Consumer<java.lang.classfile.CodeBuilder.BlockCodeBuilder>, java.util.function.Consumer<java.lang.classfile.CodeBuilder.CatchBuilder>).
Если тип исключения null, то блок catch перехватывает все исключения.
- Параметры:
-
exceptionType- тип исключения для перехвата, может бытьnull -
catchHandler- обработчик, который получаетCodeBuilder.BlockCodeBuilderдля генерации тела блока catch - Возвращаемое значение:
- этот строитель
- Исключения:
-
IllegalArgumentException- если существующий блок catch перехватывает исключение заданного типа илиexceptionTypeпредставляет примитивный тип - См. также:
catchingMulti
CodeBuilder.CatchBuilder catchingMulti(List<ClassDesc> exceptionTypes, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler)
Перехваченное исключение будет находиться в верхней части стека операндов при входе в блок catch.
Метка CodeBuilder.BlockCodeBuilder.breakLabel() для блока catch соответствует метке выхода из блока tryHandler в CodeBuilder.trying(java.util.function.Consumer<java.lang.classfile.CodeBuilder.BlockCodeBuilder>, java.util.function.Consumer<java.lang.classfile.CodeBuilder.CatchBuilder>).
Если список типов исключений пуст, то блок catch перехватывает все исключения.
- Параметры:
-
exceptionTypes- типы исключений для перехвата -
catchHandler- обработчик, который получаетCodeBuilder.BlockCodeBuilderдля генерации тела блока catch - Возвращаемое значение:
- этот строитель
- Исключения:
-
IllegalArgumentException- если существующий блок catch перехватывает одно или несколько исключений заданных типов - См. также:
catchingAll
void catchingAll(Consumer<CodeBuilder.BlockCodeBuilder> catchAllHandler)
Метка CodeBuilder.BlockCodeBuilder.breakLabel() для блока catch соответствует метке выхода из блока tryHandler в CodeBuilder.trying(java.util.function.Consumer<java.lang.classfile.CodeBuilder.BlockCodeBuilder>, java.util.function.Consumer<java.lang.classfile.CodeBuilder.CatchBuilder>).
Перехваченное исключение будет находиться в верхней части стека операндов при входе в блок catch.
- Параметры:
-
catchAllHandler- обработчик, который получаетCodeBuilder.BlockCodeBuilderдля генерации тела блока catch - Исключения:
-
IllegalArgumentException- если существующий блок catch перехватывает все исключения - См. также:
© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/CodeBuilder.CatchBuilder.html