Interface ExceptionCatch
- All Superinterfaces:
ClassFileElement, CodeElement, PseudoInstruction
A pseudo-instruction modeling an entry in the
exception_table
array
of a Code
attribute. Catch (JVMS 3.12) and
finally (JVMS 3.14) blocks in Java source code compile to exception
table entries. Delivered as a CodeElement
when traversing the
contents of a CodeModel
.
An exception table entry is composite:
ExceptionCatch
(
Label handler
,
Label tryStart
,
Label tryEnd
,
Optional<ClassEntry> catchType
)
- See Java Virtual Machine Specification:
-
4.7.3 The
Code
Attribute - Since:
- 24
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturns the type of the exception to catch, or empty if this handler catches everything.handler()
Returns the handler for the exception.static ExceptionCatch
Returns an exception table pseudo-instruction to catch everything.static ExceptionCatch
Returns an exception table pseudo-instruction.tryEnd()
Returns the end of the instruction range for the guarded instructions.tryStart()
Returns the beginning of the instruction range for the guarded instructions.
-
Method Details
-
handler
-
tryStart
Label tryStart()Returns the beginning of the instruction range for the guarded instructions.- Returns:
- the beginning of the instruction range for the guarded instructions
-
tryEnd
Label tryEnd()Returns the end of the instruction range for the guarded instructions.- Returns:
- the end of the instruction range for the guarded instructions
-
catchType
Optional<ClassEntry> catchType()Returns the type of the exception to catch, or empty if this handler catches everything.- Returns:
- the type of the exception to catch, or empty if this handler catches everything
-
of
static ExceptionCatch of(Label handler, Label tryStart, Label tryEnd, Optional<ClassEntry> catchTypeEntry) Returns an exception table pseudo-instruction.- Parameters:
handler
- the handler for the exceptiontryStart
- the beginning of the instruction range for the guarded instructionstryEnd
- the end of the instruction range for the guarded instructionscatchTypeEntry
- the type of exception to catch, or empty if this handler is unconditional- Returns:
- an exception table pseudo-instruction
-
of
Returns an exception table pseudo-instruction to catch everything.- Parameters:
handler
- the handler for the exceptiontryStart
- the beginning of the instruction range for the guarded instructionstryEnd
- the end of the instruction range for the guarded instructions- Returns:
- an exception table pseudo-instruction to catch everything
-