Kent Pitman has made his paper "Condition Handling in the Lisp Language Family" available online.
The most important idea in it is that "condition handling is primarily a protocol matter." I'm coming to believe (after using a couple different sockets libraries) that an API that doesn't specify when and what conditions occur is probably an unusable API. Paul Snively says that the Pink (Pink! remember Pink?) mantra was "exceptions are part of the interface", and it is absolutely true, and too often forgotten (well, by me at least).
Java enforces exceptions-are-part-of-the-interface, and as usual, that's overkill. Libraries need to be written by thoughtful programmers; squelching compiler errors doesn't necessarily make one thoughtful.
Posted by jjwiseman at March 01, 2002 11:41 AM