pub struct ExceptionTableEntry {
pub start_pc: u2,
pub end_pc: u2,
pub handler_pc: u2,
pub catch_type: constant_pool_index,
}
Each ExceptionTableEntry
describes one exception handler in the code
array. The order of the handlers in an exception_table
array is
significant (§2.10).
Fields
start_pc | Indicates the (inclusive) start of the range 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
exception handler is active in the range [start_pc, end_pc) .
|
end_pc | Indicates the (exclusive) end of the range in the code array at which
the exception handler is active. The value of end_pc must be a valid
index into the code array of the opcode of an instruction or must be
equal to the length of the code array. The exception handler is active
in the range [start_pc, end_pc) .
|
handler_pc | The 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
and must be the index of the opcode of an instruction.
|
catch_type | If 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 ConstantPoolInfo::Class structure representing a class
of exceptions that this exception handler is designated to catch. The
exception handler will be called only if the thrown exception is an
instance of the given class or one of its subclasses.
|
Trait Implementations
Derived Implementations