Making this an exception instead of a return value forces the user to handle these case explicitly in a try { ... } catch. The following code illustrates how this may be done:
...
try {
il.delete(start_ih, end_ih);
} catch (TargetLostException e) {
for (InstructionHandle target : e.getTargets()) {
for (InstructionTargeter targeter : target.getTargeters()) {
targeter.updateTarget(target, new_target);
}
}
}
InstructionHandle, InstructionList, InstructionTargeter
| Modifier and Type | Field and Description |
|---|---|
| private static final long | |
| private final InstructionHandle[] |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public InstructionHandle[] |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID | |
| targets | back to summary |
|---|---|
| private final InstructionHandle[] targets | |
| TargetLostException | back to summary |
|---|---|
| pack-priv TargetLostException(final InstructionHandle[] t, final String mesg) | |
| getTargets | back to summary |
|---|---|
public InstructionHandle[] getTargets()
| |