Class ExceptionTable

  • All Implemented Interfaces:
    java.lang.Cloneable, Node

    public final class ExceptionTable
    extends Attribute
    This class represents the table of exceptions that are thrown by a method. This attribute may be used once per method. The name of this class is ExceptionTable for historical reasons; The Java Virtual Machine Specification, Second Edition defines this attribute using the name Exceptions (which is inconsistent with the other classes).
    See Also:
    Code
    • Constructor Detail

      • ExceptionTable

        public ExceptionTable​(ExceptionTable c)
        Initialize from another object. Note that both objects use the same references (shallow copy). Use copy() for a physical copy.
      • ExceptionTable

        public ExceptionTable​(int name_index,
                              int length,
                              int[] exceptionIndexTable,
                              ConstantPool constant_pool)
        Parameters:
        name_index - Index in constant pool
        length - Content length in bytes
        exceptionIndexTable - Table of indices in constant pool
        constant_pool - Array of constants
    • Method Detail

      • accept

        public void accept​(Visitor v)
        Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
        Specified by:
        accept in interface Node
        Specified by:
        accept in class Attribute
        Parameters:
        v - Visitor object
      • dump

        public void dump​(java.io.DataOutputStream file)
                  throws java.io.IOException
        Dump exceptions attribute to file stream in binary format.
        Overrides:
        dump in class Attribute
        Parameters:
        file - Output file stream
        Throws:
        java.io.IOException
      • getExceptionIndexTable

        public int[] getExceptionIndexTable()
        Returns:
        Array of indices into constant pool of thrown exceptions.
      • getNumberOfExceptions

        public int getNumberOfExceptions()
        Returns:
        Length of exception table.
      • getExceptionNames

        public java.lang.String[] getExceptionNames()
        Returns:
        class names of thrown exceptions
      • setExceptionIndexTable

        public void setExceptionIndexTable​(int[] exceptionIndexTable)
        Parameters:
        exceptionIndexTable - the list of exception indexes Also redefines number_of_exceptions according to table length.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Attribute
        Returns:
        String representation, i.e., a list of thrown exceptions.