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