public final class Exception_info extends java.lang.Object implements java.lang.Cloneable, IClassFormatOutput
ExceptionHandlerTable
. Each
entry contains the following items:
start_pc, end_pcThe values of the two items start_pc and end_pc indicate the ranges in the code array at which the exception handler is active. The value of start_pc must be a valid index into the code array of the opcode of an instruction. The value of end_pc either must be a valid index into the code array of the opcode of an instruction, or must be equal to code_length , the length of the code array. The value of start_pc must be less than the value of end_pc.
The start_pc is inclusive and end_pc is exclusive; that is, the exception handler must be active while the program counter is within the interval [start_pc, end_pc).
handler_pcThe value of the handler_pc item indicates the start of the exception handler. The value of the item must be a valid index into the code array, must be the index of the opcode of an instruction, and must be less than the value of the code_length item.
catch_typeIf the value of the catch_type item is nonzero, it must be a valid index into the constant_pool table. The constant_pool entry at that index must be a
CONSTANT_Class_info
structure representing
a class of exceptions that this exception handler is designated to catch.
This class must be the class Throwable or one of its subclasses. The exception
handler will be called only if the thrown exception is an instance of the given
class or one of its subclasses.If the value of the catch_type item is zero, this exception handler is called for all exceptions. This is used to implement finally.
Modifier and Type | Field and Description |
---|---|
int |
m_catch_type |
int |
m_end_pc |
int |
m_handler_pc |
int |
m_start_pc |
Constructor and Description |
---|
Exception_info(int start_pc,
int end_pc,
int handler_pc,
int catch_type) |
Exception_info(UDataInputStream bytes) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone()
Performs a deep copy.
|
java.lang.String |
toString() |
void |
writeInClassFormat(UDataOutputStream out) |
public int m_start_pc
public int m_end_pc
public int m_handler_pc
public int m_catch_type
public Exception_info(int start_pc, int end_pc, int handler_pc, int catch_type)
Exception_info(UDataInputStream bytes) throws java.io.IOException
java.io.IOException
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.Object clone()
clone
in class java.lang.Object
public void writeInClassFormat(UDataOutputStream out) throws java.io.IOException
writeInClassFormat
in interface IClassFormatOutput
java.io.IOException