## org.apache.bcel.classfile
Class ExceptionTable

    java.lang.Object
      org.apache.bcel.classfile.Attribute
          org.apache.bcel.classfile.ExceptionTable

All Implemented Interfaces:
  Serializable, 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).

Version:
  $Id: ExceptionTable.java 386056 2006-03-15 11:31:56Z tcurdt $
See Also:
  `Code`, Serialized Form

Field Summary

Fields inherited from class org.apache.bcel.classfile.Attribute
`constant_pool, length, name_index, tag`

Constructor Summary
`ExceptionTable(ExceptionTable c)` Initialize from another object.
`ExceptionTable(int name_index, int length, int[] exception_index_table, ConstantPool constant_pool)`

Method Summary
`void` `accept(Visitor v)` Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
`Attribute` `copy(ConstantPool _constant_pool)`
`void` `dump(DataOutputStream file)` Dump exceptions attribute to file stream in binary format.
`int[]` `getExceptionIndexTable()`
`String[]` `getExceptionNames()`
`int` `getNumberOfExceptions()`
`void` `setExceptionIndexTable(int[] exception_index_table)`
`String` `toString()`

Methods inherited from class org.apache.bcel.classfile.Attribute
`addAttributeReader, clone, getConstantPool, getLength, getNameIndex, getTag, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

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[] exception_index_table,
                          ConstantPool constant_pool)

Parameters:
  `name_index` - Index in constant pool
  `length` - Content length in bytes
  `exception_index_table` - 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 final void dump(DataOutputStream file)
                    throws IOException

  Dump exceptions attribute to file stream in binary format.

  Overrides:
    `dump` in class `Attribute`
  Parameters:
    `file` - Output file stream
  Throws:
    `IOException`

### getExceptionIndexTable

    public final int[] getExceptionIndexTable()

  Returns:
    Array of indices into constant pool of thrown exceptions.

### getNumberOfExceptions

    public final int getNumberOfExceptions()

  Returns:
    Length of exception table.

### getExceptionNames

    public final String[] getExceptionNames()

  Returns:
    class names of thrown exceptions

### setExceptionIndexTable

    public final void setExceptionIndexTable(int[] exception_index_table)

  Parameters:
    `exception_index_table` - the list of exception indexes Also redefines number_of_exceptions according to table length.

### toString

    public final String toString()

  Overrides:
    `toString` in class `Attribute`
  Returns:
    String representation, i.e., a list of thrown exceptions.

### copy

    public Attribute copy(ConstantPool _constant_pool)

  Specified by:
    `copy` in class `Attribute`
  Returns:
    deep copy of this attribute

Copyright © 2002-2006 Apache Software Foundation. All Rights Reserved.