These are much less well considered! The primary reason for documenting them now is merely to make sure that nothing in Phase One blocks future development.
handlehandle takes two args: error and contexttop and less on middle (when compared to CL)
;; simple degenerate example
;; error matcher is IOException (could be arbitrary match)
;; context is :io (could be arbitrary match)
;; handler is "<NO DATA>" (could be arbitrary fn)
(defn top []
(with-handler :io "<NO DATA>"
(middle)))
(defn middle []
(try*
(bottom)
(handle IOException :io)))
(defn bottom []
(slurp "file-does-not-exist"))
|
ISnapshot protocol identifies Java objects that can be "immutable data-ized"
clojure.core/beanISnapshot where available
IMeta or IPersistentMap were protocols...