mirror of
https://github.com/metosin/reitit.git
synced 2025-12-17 16:31:11 +00:00
Add ex-message shim
This commit is contained in:
parent
ad0bc7e013
commit
7e7b57c913
2 changed files with 5 additions and 2 deletions
|
|
@ -7,11 +7,14 @@
|
|||
([type data]
|
||||
(throw (ex-info (str type) {:type type, :data data}))))
|
||||
|
||||
(defn get-message [e]
|
||||
#?(:clj (.getMessage ^Exception e) :cljs (ex-message e)))
|
||||
|
||||
(defmulti format-exception (fn [type _ _] type))
|
||||
|
||||
(defn exception [e]
|
||||
(let [data (ex-data e)
|
||||
message (format-exception (:type data) #?(:clj (.getMessage ^Exception e) :cljs (ex-message e)) (:data data))]
|
||||
message (format-exception (:type data) (get-message e) (:data data))]
|
||||
;; there is a 3-arity version (+cause) of ex-info, but the default repl error message is taken from the cause
|
||||
(ex-info message (assoc (or data {}) ::cause e))))
|
||||
|
||||
|
|
|
|||
|
|
@ -350,7 +350,7 @@
|
|||
[:span (color :grey "-- Exception ----------------------")]
|
||||
[:break]
|
||||
[:break]
|
||||
(color :red (ex-message exception))
|
||||
(color :red (exception/get-message exception))
|
||||
[:break]
|
||||
[:break]
|
||||
(edn left {:margin 3})
|
||||
|
|
|
|||
Loading…
Reference in a new issue