diff --git a/pyicloud/base.py b/pyicloud/base.py index e05fc30d..0e12079a 100644 --- a/pyicloud/base.py +++ b/pyicloud/base.py @@ -13,7 +13,8 @@ from pyicloud.exceptions import ( PyiCloudFailedLoginException, PyiCloudAPIResponseError, - PyiCloud2FARequiredError + PyiCloud2FARequiredError, + PyiCloudNoDevicesException ) from pyicloud.services import ( FindMyiPhoneServiceManager, @@ -266,11 +267,14 @@ def validate_verification_code(self, device, code): def devices(self): """ Return all devices.""" service_root = self.webservices['findme']['url'] - return FindMyiPhoneServiceManager( - service_root, - self.session, - self.params - ) + try: + return FindMyiPhoneServiceManager( + service_root, + self.session, + self.params + ) + except PyiCloudAPIResponseError as error: + raise PyiCloudNoDevicesException(error) @property def account(self):