Interface CodeBuilder.CatchBuilder
- Enclosing interface:
CodeBuilderPREVIEW
public static sealed interface CodeBuilder.CatchBuilder
CatchBuilder
is a preview API of the Java platform.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
A builder to add catch blocks.
- Since:
- 22
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptioncatching
(ClassDesc exceptionType, Consumer<CodeBuilder.BlockCodeBuilderPREVIEW> catchHandler) Adds a catch block that catches an exception of the given type.void
catchingAll
(Consumer<CodeBuilder.BlockCodeBuilderPREVIEW> catchAllHandler) Adds a "catch" block that catches all exceptions.catchingMulti
(List<ClassDesc> exceptionTypes, Consumer<CodeBuilder.BlockCodeBuilderPREVIEW> catchHandler) Adds a catch block that catches exceptions of the given types.
-
Method Details
-
catching
CodeBuilder.CatchBuilderPREVIEW catching(ClassDesc exceptionType, Consumer<CodeBuilder.BlockCodeBuilderPREVIEW> catchHandler) Adds a catch block that catches an exception of the given type.The caught exception will be on top of the operand stack when the catch block is entered.
If the type of exception is
null
then the catch block catches all exceptions.- Parameters:
exceptionType
- the type of exception to catch.catchHandler
- handler that receives a CodeBuilder to generate the body of the catch block.- Returns:
- this builder
- Throws:
IllegalArgumentException
- if an existing catch block catches an exception of the given type orexceptionType
represents a primitive type- See Also:
-
catchingMulti
CodeBuilder.CatchBuilderPREVIEW catchingMulti(List<ClassDesc> exceptionTypes, Consumer<CodeBuilder.BlockCodeBuilderPREVIEW> catchHandler) Adds a catch block that catches exceptions of the given types.The caught exception will be on top of the operand stack when the catch block is entered.
If the type of exception is
null
then the catch block catches all exceptions.- Parameters:
exceptionTypes
- the types of exception to catch.catchHandler
- handler that receives a CodeBuilder to generate the body of the catch block.- Returns:
- this builder
- Throws:
IllegalArgumentException
- if an existing catch block catches one or more exceptions of the given types.- See Also:
-
catchingAll
Adds a "catch" block that catches all exceptions.The caught exception will be on top of the operand stack when the catch block is entered.
- Parameters:
catchAllHandler
- handler that receives a CodeBuilder to generate the body of the catch block- Throws:
IllegalArgumentException
- if an existing catch block catches all exceptions.- See Also:
-
CatchBuilder
when preview features are enabled.