macro | since v0.0-2985 | clojure.repl/pst | Edit |
(pst)
(pst e)
Print Stack Trace for a given exception e
or the most recent
exception, stored implicitly by *e
.
(defmacro pst
([] `(pst *e))
([e]
(let [{:keys [repl-env] :as env} &env]
(when (and e repl-env)
(when-let [ret (if (satisfies? IGetError repl-env)
(-get-error repl-env e env *repl-opts*)
(edn/read-string
(evaluate-form repl-env env ""
`(when ~e
(pr-str
{:value (str ~e)
:stacktrace (.-stack ~e)})))))]
(display-error repl-env
(if (satisfies? IParseError repl-env)
(-parse-error repl-env ret *repl-opts*)
ret)
nil *repl-opts*))))))