org.objectweb.asm.tree

## Class TryCatchBlockNode

- java.lang.Object
- - org.objectweb.asm.tree.TryCatchBlockNode

-     public class TryCatchBlockNode
      extends Object

  A node that represents a try catch block.
  Author:
    Eric Bruneton

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `LabelNode` | `end` End of the exception handler's scope (exclusive).
    `LabelNode` | `handler` Beginning of the exception handler's code.
    `List<TypeAnnotationNode>` | `invisibleTypeAnnotations` The runtime invisible type annotations on the exception handler type.
    `LabelNode` | `start` Beginning of the exception handler's scope (inclusive).
    `String` | `type` Internal name of the type of exceptions handled by the handler.
    `List<TypeAnnotationNode>` | `visibleTypeAnnotations` The runtime visible type annotations on the exception handler type.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TryCatchBlockNode(LabelNode start, LabelNode end, LabelNode handler, String type)` Constructs a new `TryCatchBlockNode`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `accept(MethodVisitor mv)` Makes the given visitor visit this try catch block.
    `void` | `updateIndex(int index)` Updates the index of this try catch block in the method's list of try catch block nodes.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### start

          public LabelNode start

      Beginning of the exception handler's scope (inclusive).

    - #### end

          public LabelNode end

      End of the exception handler's scope (exclusive).

    - #### handler

          public LabelNode handler

      Beginning of the exception handler's code.

    - #### type

          public String type

      Internal name of the type of exceptions handled by the handler. May be `null` to catch any exceptions (for "finally" blocks).

    - #### visibleTypeAnnotations

          public List<TypeAnnotationNode> visibleTypeAnnotations

      The runtime visible type annotations on the exception handler type. This list is a list of `TypeAnnotationNode` objects. May be `null`.

    - #### invisibleTypeAnnotations

          public List<TypeAnnotationNode> invisibleTypeAnnotations

      The runtime invisible type annotations on the exception handler type. This list is a list of `TypeAnnotationNode` objects. May be `null`.

  - ### Constructor Detail

    - #### TryCatchBlockNode

          public TryCatchBlockNode(LabelNode start,
                                   LabelNode end,
                                   LabelNode handler,
                                   String type)

      Constructs a new `TryCatchBlockNode`.
      Parameters:
        `start` - beginning of the exception handler's scope (inclusive).
        `end` - end of the exception handler's scope (exclusive).
        `handler` - beginning of the exception handler's code.
        `type` - internal name of the type of exceptions handled by the handler, or `null` to catch any exceptions (for "finally" blocks).

  - ### Method Detail

    - #### updateIndex

          public void updateIndex(int index)

      Updates the index of this try catch block in the method's list of try catch block nodes. This index maybe stored in the 'target' field of the type annotations of this block.
      Parameters:
        `index` - the new index of this try catch block in the method's list of try catch block nodes.

    - #### accept

          public void accept(MethodVisitor mv)

      Makes the given visitor visit this try catch block.
      Parameters:
        `mv` - a method visitor.