org.apache.bcel.generic
Class TargetLostException
java.lang.Object
  |
  +--java.lang.Throwable
        |
        +--java.lang.Exception
              |
              +--org.apache.bcel.generic.TargetLostException
- All Implemented Interfaces: 
- java.io.Serializable
- public final class TargetLostException- extends java.lang.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,v 1.1.1.1 2001/10/29 20:00:27 jvanzyl Exp $
- Author:
- M. Dahm
- See Also:
- InstructionHandle,- InstructionList,- InstructionTargeter, 
Serialized Form
 
| 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 | 
 
getTargets
public InstructionHandle[] getTargets()
- 
- Returns:
- list of instructions still being targeted.
 
Copyright © 2002-2003 Apache Software Foundation. All Rights Reserved.