Интерфейс 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 соответствует метке break блока tryHandler в CodeBuilder.trying(Consumer, Consumer).
Если тип исключения — 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 соответствует метке break блока tryHandler в CodeBuilder.trying(Consumer, Consumer).
Если список типов исключений пуст, блок catch перехватывает все исключения.
- Параметры:
-
exceptionTypes— типы перехватываемых исключений -
catchHandler— обработчик, принимающийCodeBuilder.BlockCodeBuilderдля создания тела блока catch - Возвращает:
- этот построитель
- Выбрасывает:
-
IllegalArgumentException— если существующий блок catch перехватывает одно или несколько исключений указанных типов - См. также:
catchingAll
void catchingAll(Consumer<CodeBuilder.BlockCodeBuilder> catchAllHandler)
CodeBuilder.BlockCodeBuilder.breakLabel() блока catch соответствует метке break блока tryHandler в CodeBuilder.trying(Consumer, Consumer).
При входе в блок 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/CodeBuilder.CatchBuilder.html