StackTraceElement->vec

added
1.9

ns
clojure.core

type
function

(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