Spec-Zone.ru › OpenJDK 25

Интерфейс CodeBuilder.CatchBuilder

Вмещающий интерфейс:
CodeBuilder
public static sealed interface CodeBuilder.CatchBuilder
Построитель для добавления блоков catch.
Начиная с:
24
См. также:
  • CodeBuilder.trying(Consumer, Consumer)
  • ExceptionCatch

Краткое описание методов

Модификатор и тип Метод Описание
CodeBuilder.CatchBuilder catching(ClassDesc exceptionType, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler)
Добавляет блок catch, перехватывающий исключение указанного типа.
void catchingAll(Consumer<CodeBuilder.BlockCodeBuilder> catchAllHandler)
Добавляет блок «catch», перехватывающий все исключения.
CodeBuilder.CatchBuilder catchingMulti(List<ClassDesc> exceptionTypes, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler)
Добавляет блок catch, перехватывающий исключения указанных типов.

Подробное описание методов

catching

CodeBuilder.CatchBuilder catching(ClassDesc exceptionType, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler)
Добавляет блок catch, перехватывающий исключение указанного типа.

При входе в блок catch перехваченное исключение будет находиться на вершине стека операндов.

CodeBuilder.BlockCodeBuilder.breakLabel() блока catch соответствует метке break блока tryHandler в CodeBuilder.trying(Consumer, Consumer).

Если тип исключения — null, блок catch перехватывает все исключения.

Параметры:
exceptionType — тип перехватываемого исключения; может быть null
catchHandler — обработчик, принимающий CodeBuilder.BlockCodeBuilder для создания тела блока catch
Возвращает:
этот построитель
Выбрасывает:
IllegalArgumentException — если существующий блок catch перехватывает исключение указанного типа или exceptionType представляет примитивный тип
См. также:
  • catchingMulti(List, Consumer)
  • catchingAll(Consumer)

catchingMulti

CodeBuilder.CatchBuilder catchingMulti(List<ClassDesc> exceptionTypes, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler)
Добавляет блок catch, перехватывающий исключения указанных типов.

При входе в блок catch перехваченное исключение будет находиться на вершине стека операндов.

CodeBuilder.BlockCodeBuilder.breakLabel() блока catch соответствует метке break блока tryHandler в CodeBuilder.trying(Consumer, Consumer).

Если список типов исключений пуст, блок catch перехватывает все исключения.

Параметры:
exceptionTypes — типы перехватываемых исключений
catchHandler — обработчик, принимающий CodeBuilder.BlockCodeBuilder для создания тела блока catch
Возвращает:
этот построитель
Выбрасывает:
IllegalArgumentException — если существующий блок catch перехватывает одно или несколько исключений указанных типов
См. также:
  • catching(ClassDesc, Consumer)
  • catchingAll(Consumer)

catchingAll

void catchingAll(Consumer<CodeBuilder.BlockCodeBuilder> catchAllHandler)
Добавляет блок «catch», перехватывающий все исключения.

CodeBuilder.BlockCodeBuilder.breakLabel() блока catch соответствует метке break блока tryHandler в CodeBuilder.trying(Consumer, Consumer).

При входе в блок catch перехваченное исключение будет находиться на вершине стека операндов.

Параметры:
catchAllHandler — обработчик, принимающий CodeBuilder.BlockCodeBuilder для создания тела блока catch
Выбрасывает:
IllegalArgumentException — если существующий блок catch перехватывает все исключения
См. также:
  • catching(ClassDesc, Consumer)
  • catchingMulti(List, Consumer)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API