aboutsummaryrefslogtreecommitdiffstats
path: root/klippy
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2019-01-08 13:46:26 -0500
committerKevin O'Connor <kevin@koconnor.net>2019-01-08 13:46:26 -0500
commitc0ea0312e548afe1de8a34a59b179db4ead63f36 (patch)
tree9793e13348b15f7c1c53720282f0d2c3368abc8b /klippy
parentbf647749dd3eeaa6da57b64ed122c2be42ed58e7 (diff)
downloadkutter-c0ea0312e548afe1de8a34a59b179db4ead63f36.tar.gz
kutter-c0ea0312e548afe1de8a34a59b179db4ead63f36.tar.xz
kutter-c0ea0312e548afe1de8a34a59b179db4ead63f36.zip
klippy: Fix error handling during connect phase
Make sure to exit the _connect() method if a connect event handler raises an error. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy')
-rw-r--r--klippy/klippy.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/klippy/klippy.py b/klippy/klippy.py
index 51ec2bd6..d11959e2 100644
--- a/klippy/klippy.py
+++ b/klippy/klippy.py
@@ -137,16 +137,20 @@ class Printer:
except (self.config_error, pins.error) as e:
logging.exception("Config error")
self._set_state("%s%s" % (str(e), message_restart))
+ return
except msgproto.error as e:
logging.exception("Protocol error")
self._set_state("%s%s" % (str(e), message_protocol_error))
+ return
except mcu.error as e:
logging.exception("MCU error during connect")
self._set_state("%s%s" % (str(e), message_mcu_connect_error))
+ return
except:
logging.exception("Unhandled exception during connect")
self._set_state("Internal error during connect.%s" % (
message_restart,))
+ return
try:
self._set_state(message_ready)
for cb in self.event_handlers.get("klippy:ready", []):