Common Lisp the Language, 2nd Edition
Next: Serious Conditions
Up: Survey of Concepts
Previous: Generalized
Restarts
When a program does not know how to continue, and no active handler is
able to advise it, the ``interactive condition handler,’’ or
``debugger,’’ can be entered. This happens implicitly through the use of
functions such as error
and cerror
, or
explicitly through the use of the function
invoke-debugger
.
The interactive condition handler never returns directly; it returns only through structured non-local transfer of control to specially defined restart points that can be set up either by the system or by user code. The mechanisms that support the establishment of such structured restart points for portable code are outlined in sections 29.3.5 through 29.3.10.
Actually, implementations may also provide extended debugging
facilities that allow return from arbitrary stack frames. Although such
commands are frequently useful in practice, their effects are
implementation-dependent because they violate the Common Lisp program
abstraction. The effect of using such commands is undefined with respect
to Common Lisp.
AI.Repository@cs.cmu.edu