(StackTraceElement->vec o)
Constructs a data representation for a StackTraceElement
;;;; StackTraceElements look like vectors when printed, but they
;;;; are actually a completely different type.
;;;; (StackTraceElement->vec) turns them into normal Clojure vectors.
(try
(/ 1 0)
(catch Exception e
(let [cause (->> e .getStackTrace seq first)]
(pprint cause)
(class cause))))
;;=> [clojure.lang.Numbers divide "Numbers.java" 158]
;;=> java.lang.StackTraceElement
(try
(/ 1 0)
(catch Exception e
(let [cause (->> e .getStackTrace seq first StackTraceElement->vec)]
(pprint cause)
(class cause))))
;;=> [clojure.lang.Numbers divide "Numbers.java" 158]
;;=> clojure.lang.PersistentVector