diff --git a/scratchattach/cloud/cloud.py b/scratchattach/cloud/cloud.py index 05d0416..b9070b7 100644 --- a/scratchattach/cloud/cloud.py +++ b/scratchattach/cloud/cloud.py @@ -8,6 +8,7 @@ from scratchattach.utils import exceptions, commons from scratchattach.site import cloud_activity +from websocket import WebSocketBadStatusException class ScratchCloud(BaseCloud): def __init__(self, *, project_id, _session=None): @@ -26,7 +27,10 @@ def __init__(self, *, project_id, _session=None): def connect(self): self._assert_auth() # Connecting to Scratch's cloud websocket requires a login to the Scratch website - super().connect() + try: + super().connect() + except WebSocketBadStatusException as e: + raise WebSocketBadStatusException(f"Error: Scratch's Cloud system may be down. Please try again later.") from e def set_var(self, variable, value): self._assert_auth() # Setting a cloud var requires a login to the Scratch website