In the Java world, examples of an Error 
class<http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Error.html>are 
LinkageError (indicates 
that a class has some dependency on another class; however, the latter class 
has incompatibly changed after the compilation of the former class), 
NoClassDefFoundError (thrown if the Java Virtual Machine or a 
ClassLoaderinstance tries to load in the definition of a class (as part of a 
normal 
method call or as part of creating a new instance using the new expression) 
and no definition of the class could be found.), and (Thrown when the 
"verifier" detects that a class file, though well formed, contains some sort 
of internal inconsistency or security problem).  The general idea is that 
there are circumstances that justify throwing something that a reasonable 
program would not attempt to recover from.  Of course AssertionError is 
another example.

To reiterate what Fogus said, assertions are meant to be a testing/debugging 
tool to identify logic errors, and so assertions throw Errors rather than 
Exceptions.  

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