Hi, On 17 Nov., 02:09, Chouser <[EMAIL PROTECTED]> wrote: > You could of course work around this by putting your loop in some > other function and calling it from inside catch.
In this specific case I used: (last (take-while #(not (nil? %)) (iterate #(.getCause %) e))) However, a separate function would also work. That is not the point. One can work around it. But I try to follow the principle of least surprise as much as possible. So when valid looking code doesn't work for an obscure reason, this certainly is a surprise. I have no problem putting the loop into a dedicated function. Or find some equivalent way to express it. However then it should be documented somewhere, that this is actually necessary. ("for technical reasons loop/recur cannot be used in/at/for....") Sincerely Meikel --~--~---------~--~----~------------~-------~--~----~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---