Class ExceptionTable
java.lang.Object
org.apache.bcel.classfile.Attribute
org.apache.bcel.classfile.ExceptionTable
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:
-
Field Summary
Fields inherited from class Attribute
constant_pool, EMPTY_ARRAY, length, name_index, tag -
Constructor Summary
ConstructorsConstructorDescriptionExceptionTable(int nameIndex, int length, int[] exceptionIndexTable, ConstantPool constantPool) Constructs an ExceptionTable.Initialize from another object. -
Method Summary
Modifier and TypeMethodDescriptionvoidCalled by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.copy(ConstantPool constantPool) Creates a deep copy of this attribute.voiddump(DataOutputStream file) Dumps exceptions attribute to file stream in binary format.int[]Gets the array of indices into constant pool of thrown exceptions.String[]Gets the class names of thrown exceptions.intGets the length of exception table.voidsetExceptionIndexTable(int[] exceptionIndexTable) Sets the exception index table.toString()Methods inherited from class Attribute
addAttributeReader, addAttributeReader, clone, getConstantPool, getLength, getName, getNameIndex, getTag, println, readAttribute, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex
-
Constructor Details
-
ExceptionTable
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
public ExceptionTable(int nameIndex, int length, int[] exceptionIndexTable, ConstantPool constantPool) Constructs an ExceptionTable.- Parameters:
nameIndex- Index in constant pool.length- Content length in bytes.exceptionIndexTable- Table of indices in constant pool.constantPool- Array of constants.
-
-
Method Details
-
accept
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. That is, the hierarchy of methods, fields, attributes, and so on spawns a tree of objects. -
copy
Creates a deep copy of this attribute. -
dump
Dumps exceptions attribute to file stream in binary format.- Overrides:
dumpin classAttribute- Parameters:
file- Output file stream.- Throws:
IOException- if an I/O error occurs.
-
getExceptionIndexTable
Gets the array of indices into constant pool of thrown exceptions.- Returns:
- Array of indices into constant pool of thrown exceptions.
-
getExceptionNames
Gets the class names of thrown exceptions.- Returns:
- class names of thrown exceptions.
-
getNumberOfExceptions
Gets the length of exception table.- Returns:
- Length of exception table.
-
setExceptionIndexTable
Sets the exception index table.- Parameters:
exceptionIndexTable- the list of exception indexes Also redefines number_of_exceptions according to table length.
-
toString
-