I'm not quite sure about your specific case, but is it possible to just move the try-catch outside of the recursive function? Perhaps this is not possible for your specific case, but it seems like a clean way to handle it, so I would try and massage the problem into something that can be expressed like this.
Hope that's helpful -Patrick eg. (defn foo [i] (println i) (if (zero? i) (throw (RuntimeException. "Reached Zero.")) (recur (dec i)))) (defn outer-foo [i] (try (foo i) (finally (println "finished.")))) -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en