How to access :cause, :via and :trace keys of an exception in Clojure? : <p>I could not find a way to access <code>:cause, :via and :trace</code> keys of an exception.</p>

<p>Here is the code:</p>

<pre><code>(try
  (throw (IllegalArgumentException. "1"))
  (catch Exception e
    e))
</code></pre>

<p>Output:</p>

<pre><code>#error{:cause "1",
       :via [{:type java.lang.IllegalArgumentException, :message "1", :at [user$eval4073 invokeStatic "form-init5592296091748814678.clj" 1]}],
       :trace [[user$eval4073 invokeStatic "form-init5592296091748814678.clj" 1]
               [user$eval4073 invoke "form-init5592296091748814678.clj" 1]
               [clojure.lang.Compiler eval "Compiler.java" 6927]
               [clojure.lang.Compiler eval "Compiler.java" 6890]
               [clojure.core$eval invokeStatic "core.clj" 3105]
               [clojure.core$eval invoke "core.clj" 3101]
               [clojure.main$repl$read_eval_print__7408$fn__7411 invoke "main.clj" 240]
               ....]}
</code></pre>

<p><em>P.S: (:via e) does not work.</em></p>
