try-block

This commit is contained in:
atse 2024-08-22 11:43:21 +08:00
parent 1f90a2e9fe
commit 16369cec71

View File

@ -252,20 +252,23 @@ class MainWindow(QtWidgets.QMainWindow):
self.conn_menu.host_set_line.setEnabled(False)
self.conn_menu.port_set_spin.setEnabled(False)
try:
self._connecting_task = asyncio.create_task(
asyncio.wait_for(self.thermostat.start_session(host=host, port=port), timeout=5)
self._connecting_task = asyncio.create_task(
asyncio.wait_for(
self.thermostat.start_session(host=host, port=port), timeout=5
)
)
try:
await self._connecting_task
except (OSError, asyncio.TimeoutError):
await self.bail()
return
except asyncio.CancelledError:
return
else:
await self._on_connection_changed(True)
finally:
self._connecting_task = None
await self._on_connection_changed(True)
else:
if self._connecting_task is not None:
self._connecting_task.cancel()