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 [email protected]
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
-~----------~----~----~----~------~----~------~--~---