Module java.base
Package java.lang.classfile.instruction

# Interface ExceptionCatch

≠
public abstract sealed interface ExceptionCatch
extends java.lang.classfile.PseudoInstruction
permits jdk.internal.classfile.impl.AbstractPseudoInstruction.ExceptionCatchImpl
Comparing master and cf

All Superinterfaces:
  `ClassFileElement, CodeElement, PseudoInstruction`

public sealed interface ExceptionCatch extends 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:
  - `CodeBuilder::exceptionCatch`
  - `CodeModel.exceptionHandlers()`

## Methods

- =
  public abstract java.util.Optional<java.lang.classfile.constantpool.ClassEntry> catchType()
- =
  public abstract java.lang.classfile.Label handler()
- =
  public static java.lang.classfile.instruction.ExceptionCatch of(java.lang.classfile.Label arg0, java.lang.classfile.Label arg1, java.lang.classfile.Label arg2)
- =
  public static java.lang.classfile.instruction.ExceptionCatch of(java.lang.classfile.Label arg0, java.lang.classfile.Label arg1, java.lang.classfile.Label arg2, java.util.Optional<java.lang.classfile.constantpool.ClassEntry> arg3)
- =
  public abstract java.lang.classfile.Label tryEnd()
- =
  public abstract java.lang.classfile.Label tryStart()

## Summary

Differences
| Elements | Comments | Descriptions | Total
Added | Changed | Removed | Added | Changed | Removed | Added | Changed | Removed
--- | --- | --- | --- | --- | --- | --- | --- | ---
ExceptionCatch |  |  |  |  |  |  | 4 |  |  | 4
Total |  |  |  |  |  |  | 4 |  |  | 4