> meaning: when cleaning out stuff, you shouldn't throw out the real 
> valuable parts (even if those were the cause that got you in the mess)

I think you end up with something like:

 + If the thing you are signalling via an Exception could be made
   into a error return value that the client code *really should 
   check for* as opposed to *can check for*, then make it a checked 
   Exception. This ensures that the client code will check for it.

 + If what you are returning is guaranteed to be unrecoverable and
   stop any processing, throw an Error.

 + Else make it a RuntimeException.

The whole point with checked Exceptions was to avoid the case when
lazy programmers didn't properly check for ok return codes.

/LS

Reply via email to