which is why you should not just catch Exception, you end up swallowing more then you can chew.Solution: Use only unchecked ones; i.e, make all your own ones descend from RuntimeException (or whatever the name was).
I agree that checked exceptions are a bad idea. They end up polluting the code with a lot if extraneous code.
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?