diff options
Diffstat (limited to 'asciifarmclient/gameclient.py')
| -rw-r--r-- | asciifarmclient/gameclient.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/asciifarmclient/gameclient.py b/asciifarmclient/gameclient.py index 92be2d4..8a91d75 100644 --- a/asciifarmclient/gameclient.py +++ b/asciifarmclient/gameclient.py @@ -50,7 +50,10 @@ class Client: self.command_loop() def listen(self): - self.connection.listen(self.pushMessage, self.onConnectionError) + try: + self.connection.listen(self.pushMessage, self.onConnectionError) + except BaseException as error: + self.queue.put(("error", error)) def pushMessage(self, message): self.queue.put(("message", message)) @@ -59,9 +62,12 @@ class Client: self.queue.put(("error", error)) def getInput(self): - while True: - key = self.display.screen.get_key() - self.queue.put(("input", key)) + try: + while True: + key = self.display.screen.get_key() + self.queue.put(("input", key)) + except BaseException as error: + self.queue.put(("error", error)) def close(self, msg=None): self.keepalive = False |
