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
-~----------~----~----~----~------~----~------~--~---

Reply via email to