Package javassist.bytecode

# Class ExceptionTable

java.lang.Object
javassist.bytecode.ExceptionTable

All Implemented Interfaces:
  `Cloneable`

public class ExceptionTable extends Object implements Cloneable
`exception_table[]` of `Code_attribute`.

## Constructor Summary

Constructors
Constructor
Description
`ExceptionTable(ConstPool cp)`
Constructs an `exception_table[]`.

## Method Summary

Modifier and Type
Method
Description
`void`
`add(int start, int end, int handler, int type)`
Appends a new entry at the end of the table.
`void`
`add(int index, int start, int end, int handler, int type)`
Adds a new entry at the specified position in the table.
`void`
`add(int index, ExceptionTable table, int offset)`
Copies the given exception table at the specified position in the table.
`int`
`catchType(int nth)`
Returns `catchType` of the n-th entry.
`Object`
`clone()`
Creates and returns a copy of this object.
`ExceptionTable`
`copy(ConstPool newCp, Map<String,String> classnames)`
Makes a copy of this `exception_table[]`.
`int`
`endPc(int nth)`
Returns `endPc` of the n-th entry.
`int`
`handlerPc(int nth)`
Returns `handlerPc` of the n-th entry.
`void`
`remove(int index)`
Removes the entry at the specified position in the table.
`void`
`setCatchType(int nth, int value)`
Sets `catchType` of the n-th entry.
`void`
`setEndPc(int nth, int value)`
Sets `endPc` of the n-th entry.
`void`
`setHandlerPc(int nth, int value)`
Sets `handlerPc` of the n-th entry.
`void`
`setStartPc(int nth, int value)`
Sets `startPc` of the n-th entry.
`int`
`size()`
Returns `exception_table_length`, which is the number of entries in the `exception_table[]`.
`int`
`startPc(int nth)`
Returns `startPc` of the n-th entry.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ExceptionTable

public ExceptionTable(ConstPool cp)
Constructs an `exception_table[]`.

Parameters:
  `cp` - constant pool table.

## Method Details

### clone

public Object clone() throws CloneNotSupportedException
Creates and returns a copy of this object. The constant pool object is shared between this object and the cloned object.

Throws:
  `CloneNotSupportedException`

### size

public int size()
Returns `exception_table_length`, which is the number of entries in the `exception_table[]`.

### startPc

public int startPc(int nth)
Returns `startPc` of the n-th entry.

Parameters:
  `nth` - the n-th (>= 0).

### setStartPc

public void setStartPc(int nth, int value)
Sets `startPc` of the n-th entry.

Parameters:
  `nth` - the n-th (>= 0).
  `value` - new value.

### endPc

public int endPc(int nth)
Returns `endPc` of the n-th entry.

Parameters:
  `nth` - the n-th (>= 0).

### setEndPc

public void setEndPc(int nth, int value)
Sets `endPc` of the n-th entry.

Parameters:
  `nth` - the n-th (>= 0).
  `value` - new value.

### handlerPc

public int handlerPc(int nth)
Returns `handlerPc` of the n-th entry.

Parameters:
  `nth` - the n-th (>= 0).

### setHandlerPc

public void setHandlerPc(int nth, int value)
Sets `handlerPc` of the n-th entry.

Parameters:
  `nth` - the n-th (>= 0).
  `value` - new value.

### catchType

public int catchType(int nth)
Returns `catchType` of the n-th entry.

Parameters:
  `nth` - the n-th (>= 0).
Returns:
  an index into the `constant_pool` table, or zero if this exception handler is for all exceptions.

### setCatchType

public void setCatchType(int nth, int value)
Sets `catchType` of the n-th entry.

Parameters:
  `nth` - the n-th (>= 0).
  `value` - new value.

### add

public void add(int index, ExceptionTable table, int offset)
Copies the given exception table at the specified position in the table.

Parameters:
  `index` - index (>= 0) at which the entry is to be inserted.
  `offset` - the offset added to the code position.

### add

public void add(int index, int start, int end, int handler, int type)
Adds a new entry at the specified position in the table.

Parameters:
  `index` - index (>= 0) at which the entry is to be inserted.
  `start` - `startPc`
  `end` - `endPc`
  `handler` - `handlerPc`
  `type` - `catchType`

### add

public void add(int start, int end, int handler, int type)
Appends a new entry at the end of the table.

Parameters:
  `start` - `startPc`
  `end` - `endPc`
  `handler` - `handlerPc`
  `type` - `catchType`

### remove

public void remove(int index)
Removes the entry at the specified position in the table.

Parameters:
  `index` - the index of the removed entry.

### copy

public ExceptionTable copy(ConstPool newCp, Map<String,String> classnames)
Makes a copy of this `exception_table[]`. Class names are replaced according to the given `Map` object.

Parameters:
  `newCp` - the constant pool table used by the new copy.
  `classnames` - pairs of replaced and substituted class names.