Earlier quoted context omitted.
> Throwing java.lang.Exception if a condition is not meat in your clojure functions? Don't do this either!!! What's the proper way of doing that in clojure ?
-way- is not the problem here. The java.lang.Exception is. :-) Throw specialized "Runtime Exceptions" would be the way to go. For example throw IllegalArgumentException runtime exception if function call receives inappropriate arguments. You can also define your own specific (app-level) exception by proxying the RuntimeException or other relevant using the clojure's proxy macro.
Of course, that makes perfect sense.