org.armedbear.lisp
Class ControlTransfer

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by java.lang.RuntimeException
              extended by org.armedbear.lisp.ControlTransfer
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
Go, Return, Throw

public abstract class ControlTransfer
extends java.lang.RuntimeException

This class is the parent class of all non-local transfer of control events in ABCL. The classes inheriting from this class each represent a transfer of control event as it is available in the standard: GO (represented by Go), RETURN (by Return) and THROW (by Throw). Please note that you should only be using these classes in case you've establisched a corresponding TAGBODY, BLOCK or CATCH-like construct in your code. Otherwise, be aware that if you are mixing Lisp and Java code, Lisp code being called into might throw one of the three exception types and cause execution to be transferred to the nearest handler - presumably outside your Java code.

See Also:
Serialized Form

Constructor Summary
ControlTransfer()
           
ControlTransfer(java.lang.String message)
           
 
Method Summary
 java.lang.Throwable fillInStackTrace()
          Overridden in order to make ControlTransfer construct faster.
abstract  LispObject getCondition()
           
 
Methods inherited from class java.lang.Throwable
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
 

Constructor Detail

ControlTransfer

public ControlTransfer()

ControlTransfer

public ControlTransfer(java.lang.String message)
Method Detail

fillInStackTrace

public java.lang.Throwable fillInStackTrace()
Overridden in order to make ControlTransfer construct faster. This avoids gathering stack trace information.

Overrides:
fillInStackTrace in class java.lang.Throwable

getCondition

public abstract LispObject getCondition()