Greetings everyone!

I am currently beginning to learn clojure, and here's one thing that I
don't quite understand, that many exceptions thrown by clojure are the
most generic java.lang.Exception's (e.g. when a symbol cannot be
resolved). Why aren't more specific exception classes used, like
clojure.lang.SymbolResolutionException? (Having a more specific
exception class seems useful when doing exception handling.)

As far as I know, clojure throws exceptions defined in the standard
Java library only, like the IllegalStateException when updating refs
outside a transaction. So there are no appropriate exception classes
for some errors occurred in clojure, which may be the reason it falls
back to java.lang.Exception.

Is the standard-exception-only thing intentional? If so, would you
please tell me the rationale behind such a decision?

I have only played with clojure for one day, so there's a huge
possibility that I missed or misunderstood something.

Please enlighten me. Thanks in advance. :)

Regards,
Ruochen

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

Reply via email to