From 0decbf52d28d02279c2fddd10e3458de37f8ee37 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Mon, 18 May 2026 09:38:19 +0200 Subject: [PATCH] frappy.client.interactive: fix error handling while interrupted Change-Id: If79ebe322eb865fd0780622fdd357c092bf12216 --- frappy/client/interactive.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/frappy/client/interactive.py b/frappy/client/interactive.py index 42730022..021c6976 100644 --- a/frappy/client/interactive.py +++ b/frappy/client/interactive.py @@ -242,16 +242,19 @@ class Module: loop() except KeyboardInterrupt: self._secnode.log.info('-- interrupted --') + exc = None try: self.stop() except Exception as e: - print(f'while stopping: {e!r}') + exc = e try: loop() # wait for stopping to be finished except KeyboardInterrupt: # interrupted again while stopping -> definitely quit pass - clientenv.raise_with_short_traceback(e) + if exc: + print(f'while stopping: {e!r}') + clientenv.raise_with_short_traceback(exc) finally: self._secnode.readParameter(self._name, 'value') for pname in watch_params: