I would prefer to leave exception handling to the caller. Catching everything could mask a problem that may not even be related to a connection failure.

Additionally I would prefer that logging be the responsibility of the consuming application.