Well, I don't think this hierarchy is that deep (3, 4 if you count exception, but that's kinda like counting object). And I like the ability do adjust the grainy-ness of my exception handling. That said, if we want to combine remote server and client exceptions to derive from a single base class, I'm ok with that.