org.apache.bcel.classfile

Class ExceptionTable

Implemented Interfaces:
Cloneable, Node, Serializable

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,v 1.2 2002/03/11 16:16:35 mdahm Exp $
Author:
M. Dahm
See Also:
Code

Field Summary

Fields inherited from class org.apache.bcel.classfile.Attribute

constant_pool, length, name_index, tag

Constructor Summary

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

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

accept, addAttributeReader, clone, copy, dump, getConstantPool, getLength, getNameIndex, getTag, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex, toString

Constructor Details

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

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.

Method Details

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
Overrides:
accept in interface Attribute
Parameters:
v - Visitor object

copy

public Attribute copy(ConstantPool constant_pool)
Overrides:
copy in interface Attribute
Returns:
deep copy of this attribute

dump

public final void dump(DataOutputStream file)
            throws IOException
Dump exceptions attribute to file stream in binary format.
Overrides:
dump in interface Attribute
Parameters:
file - Output file stream

getExceptionIndexTable

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

getExceptionNames

public final String[] getExceptionNames()
Returns:
class names of thrown exceptions

getNumberOfExceptions

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

setExceptionIndexTable

public final void setExceptionIndexTable(int[] exception_index_table)
Parameters:

toString

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