Throwable->map
(Throwable->map ex)
例外をオラクル同様にデータとして返します。:via は cause の連鎖をたどった例外ごとのマップ
(:type はクラスのシンボル、:message と :data はあるときだけ)、:cause と :data は
根本の cause のメッセージとデータ、:phase は ex 自身のデータの :clojure.error/phase、
:trace は根本のスタックフレームです。ここの例外はフレームを持たないので、:trace は [] で、
:via のマップに :at はありません。オラクルが空のスタックトレースに返すものと同じです。
ex-info、throwable の構築、実行時エラー、インタプリタと JVM ではホストの例外に使えます。
nil はオラクルの NullPointerException、それ以外の値は ClassCastException です。関数値と
しても動きます。clojure.datafy は例外についてこのマップを返します。