Catch ConnectionError from the provider.
Better handling of connection exceptions from provider; use the new cache decorator instead of custom code.
Catch ZoomError instead of ConnectionError.

A few different exceptions have to be catched, but as a general practice we should catch all exceptions from providers.
Added missing import.
PEP8.