I don't particularly like this either, but CacheManager.update_check (used by InstalledProductsManager) raises a bare exception, so this is the only way I can catch it.  At some point I'll change the raised exception to something more specific, but a lot of bugs come up that way so I'll put it off until after 6.5.