catch

Das Macro catch fängt Ausnahmen auf und liefert den von throw geworfenen Wert. Das Macro basiert auf catch-and-apply und lambda:

(setq catch
  (let
    ((get-value (lambda (name value) value)))
    (mlambda args
      (list4
        catch-and-apply
        (first args)
        get-value
        (second args)))))