When I first wrote the alpha for J2Bugzilla, I was solidly in the checked exception camp. Now I'm wondering if this ought to extend RuntimeException instead. On the one hand, it's nice to provide callers something specific to catch instead of plain old Exception; on the other hand, it depends if you really consider a low-level network problem of the type encountered by the connect methods to really be recoverable. I feel like RuntimeExceptions strike a slightly better balance of "Catch it if you want to be robust, let it fly if you want things to blow up loudly."