def read_state(self, folder: str) -> sqlite3.Row | None: try: con = sqlite3.connect(self.database, timeout=3) con.row_factory = sqlite3.Row try: return con.execute(self.STATE_QUERY, (folder,)).fetchone() finally: con.close() except sqlite3.OperationalError as e: # База ещё не создана, занята или не совпадает схема - идём дальше # без данных, но причину печатаем, чтобы она не оставалась скрытой print(f'read_state({folder!r}): {e}') return None