diff options
| author | troido <troido@protonmail.com> | 2021-01-23 18:20:43 +0100 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2021-01-23 18:20:43 +0100 |
| commit | 2327b2e838789cb2ce0c81a8f5e8922f3fae1800 (patch) | |
| tree | ca3d34c68f74a49e4a42772b5ec410477f3415c7 /asciifarmclient/gameclient.py | |
| parent | 3420305361c550cd1d57b277184d73d8b80cd76a (diff) | |
send client thread errors to the parent thread
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 |
