Package org.apache.bcel.generic
Class TargetLostException
java.lang.Object
java.lang.Throwable
java.lang.Exception
org.apache.bcel.generic.TargetLostException
- All Implemented Interfaces:
Serializable
Thrown by
InstructionList
when one or multiple disposed instructions are still being referenced by an InstructionTargeter
object. I.e. the
InstructionTargeter
has to be notified that (one of) the InstructionHandle
it is referencing is being removed from the
InstructionList
and thus not valid anymore.
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); } } }
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionGets the list of instructions still being targeted.Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
Method Details
-
getTargets
Gets the list of instructions still being targeted.- Returns:
- list of instructions still being targeted.
-