Clojure data-based exception handling