Package org.apache.bcel.classfile
Class ExceptionTable
- java.lang.Object
-
- org.apache.bcel.classfile.Attribute
-
- org.apache.bcel.classfile.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).Exceptions_attribute { u2 attribute_name_index; u4 attribute_length; u2 number_of_exceptions; u2 exception_index_table[number_of_exceptions]; }
- See Also:
Code
-
-
Field Summary
Fields Modifier and Type Field Description private int[]
exceptionIndexTable
-
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, EMPTY_ARRAY, length, name_index, tag
-
-
Constructor Summary
Constructors Constructor Description ExceptionTable(int nameIndex, int length, int[] exceptionIndexTable, ConstantPool constantPool)
ExceptionTable(int nameIndex, int length, java.io.DataInput input, ConstantPool constantPool)
Constructs object from input stream.ExceptionTable(ExceptionTable c)
Initialize from another object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.Attribute
copy(ConstantPool constantPool)
void
dump(java.io.DataOutputStream file)
Dump exceptions attribute to file stream in binary format.int[]
getExceptionIndexTable()
java.lang.String[]
getExceptionNames()
int
getNumberOfExceptions()
void
setExceptionIndexTable(int[] exceptionIndexTable)
java.lang.String
toString()
-
Methods inherited from class org.apache.bcel.classfile.Attribute
addAttributeReader, addAttributeReader, clone, getConstantPool, getLength, getName, getNameIndex, getTag, println, readAttribute, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex
-
-
-
-
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.- Parameters:
c
- Source to copy.
-
ExceptionTable
ExceptionTable(int nameIndex, int length, java.io.DataInput input, ConstantPool constantPool) throws java.io.IOException
Constructs object from input stream.- Parameters:
nameIndex
- Index in constant poollength
- Content length in bytesinput
- Input streamconstantPool
- Array of constants- Throws:
java.io.IOException
- if an I/O error occurs.
-
ExceptionTable
public ExceptionTable(int nameIndex, int length, int[] exceptionIndexTable, ConstantPool constantPool)
- Parameters:
nameIndex
- Index in constant poollength
- Content length in bytesexceptionIndexTable
- Table of indices in constant poolconstantPool
- Array of constants
-
-
Method Detail
-
accept
public void accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
-
copy
public Attribute copy(ConstantPool constantPool)
-
dump
public void dump(java.io.DataOutputStream file) throws java.io.IOException
Dump exceptions attribute to file stream in binary format.
-
getExceptionIndexTable
public int[] getExceptionIndexTable()
- Returns:
- Array of indices into constant pool of thrown exceptions.
-
getExceptionNames
public java.lang.String[] getExceptionNames()
- Returns:
- class names of thrown exceptions
-
getNumberOfExceptions
public int getNumberOfExceptions()
- Returns:
- Length of exception table.
-
setExceptionIndexTable
public void setExceptionIndexTable(int[] exceptionIndexTable)
- Parameters:
exceptionIndexTable
- the list of exception indexes Also redefines number_of_exceptions according to table length.
-
-