lispdoc - results for catch

(catch tag &body body)
Function: CATCH tag form* Evaluate TAG and instantiate it as a catcher while the body forms are evaluated in an implicit PROGN. If a THROW is done to TAG within the dynamic scope of the body, then control will be transferred to the end of the body and the thrown values will be returned.
(defun run-prolog (procedure cont)
  "Run a 0-ary prolog procedure with a given continuation."
  (setf (fill-pointer *trail*) 0)
  (setf *var-counter* 0)
  (catch 'top-level-prove
    (funcall procedure cont)))
Mentioned in:
CLtL2 - 29.3.3. Handling Conditions
CLtL2 - 29.3.9. Comparison of Restarts and Catch/Throw
CLtL2 - 3. Scope and Extent
CLtL2 - 7. Control Structure
CLtL2 - 7.10.2. Rules Governing the Passing of Multiple Values
CLtL2 - 7.11. Dynamic Non-Local Exits
CLtL2 - 7.7. Blocks and Exits
CLtL2 - A.3.1. Basic Restrictions
HyperSpec - Special Operator CATCH
PCL - unwinding the stack
Successful Lisp - chapter09
Variable: Whether Hunchentoot should catch and log errors (or rather invoke the debugger).