## org.apache.bcel.generic
Class TargetLostException

    java.lang.Object
      java.lang.Throwable
          java.lang.Exception
              org.apache.bcel.generic.TargetLostException

All Implemented Interfaces:
  Serializable

    public final class TargetLostException

extends Exception

Thrown by InstructionList.remove() when one or multiple disposed instruction are still being referenced by a 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 explicitely in a try { ... } catch. The following code illustrates how this may be done:

         ...
         try {
            il.delete(start_ih, end_ih);
         } catch(TargetLostException e) {
           InstructionHandle[] targets = e.getTargets();
             for(int i=0; i < targets.length; i++) {
               InstructionTargeter[] targeters = targets[i].getTargeters();

               for(int j=0; j < targeters.length; j++)
                 targeters[j].updateTarget(targets[i], new_target);
           }
         }

Version:
  $Id: TargetLostException.java 386056 2006-03-15 11:31:56Z tcurdt $
See Also:
  `InstructionHandle`, `InstructionList`, `InstructionTargeter`, Serialized Form

Method Summary
`InstructionHandle[]` `getTargets()`

Methods inherited from class java.lang.Throwable
`fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Method Detail

### getTargets

    public InstructionHandle[] getTargets()

  Returns:
    list of instructions still being targeted.

Copyright © 2002-2006 Apache Software Foundation. All Rights Reserved.