So wouldn't the remedy be...
BLuke cautions and laments:
which is why you should not just catch Exception, you end up swallowing more then you can chew.
I agree that checked exceptions are a bad idea. They end up polluting the code with a lot if extraneous code.
Solution: Use only unchecked ones; i.e, make all your own ones descend from RuntimeException (or whatever the name was).
Unfortuntely, Java forces you to handle checked exceptions.
Hmm... So how about, in stead of wrapping and re-throwing every exception "ten times" (cf your comment in another sub-thread), you'd catch all checked exceptions that you have to handle, on the lowest level where they occur, and wrap and re-throw them -- once and once only, wrapped in one of your own RuntimeException-descended ones?
That's the best way I can see of handling a bad situation you can't really change; at least then you won't have to screw around with your intervening layers on each change at a higher or lower level.
Right?