Common Lisp has return-from; is there any sort of return in Clojure for when you want to return early from a function?
As an alternative you could use cond . And if on some conditions you would need to evaluate multiple expressions use do. Here is an example:
(defn fact [x]
(cond
(< x 0) (do (println (str x " is negative number"))
(throw (IllegalArgumentException. "x should be 0 or higher")))
(<= x 1) 1
:else (* x (fact (- x 1)))))