This discussion is extended and subsumed under Error Handling Phase Next
Description
Currently it is not easy to create custom exceptions in Clojure. This requires gen-class and thus AOT compilation with all its drawbacks. One approach to improve the situation was clojure.contrib.condition. It defines a custom exception – Condition – which may be equipped with arbitrary metadata. This makes it quite easy to handle errors with arbitrary context information without having to define custom errors.
...