cljs.repl/repl-caught
function | since v0.0-2911 | Edit |
(repl-caught e repl-env opts)
(defn repl-caught [e repl-env opts]
(if (and (instance? IExceptionInfo e)
(#{:js-eval-error :js-eval-exception} (:type (ex-data e))))
(let [{:keys [type repl-env error form js]} (ex-data e)]
(case type
:js-eval-error
(display-error repl-env error form opts)
:js-eval-exception
(display-error repl-env error form
(if (:repl-verbose opts)
#(prn "Error evaluating:" form :as js)
(constantly nil))
opts)))
(binding [*out* *err*]
(print (-> e Throwable->map ex-triage ex-str))
(flush))))