Скрипты сталкиваются с непредвиденным: файла нет, сеть упала, в данных мусор. Чтобы программа не падала, ошибки перехватывают конструкцией try/except:
try: with open("data.txt") as f: text = f.read() except FileNotFoundError: print("Файл не найден, пропускаю")
Можно ловить разные типы ошибок:
try: n = int(value) except ValueError: n = 0 # если строка не число — берём 0
Блок else выполняется, если ошибки не было, а finally — всегда (например, для очистки):
try: risky() except Exception as e: print("Ошибка:", e) finally: print("Завершено")
Правильная обработка ошибок отличает одноразовый скрипт от надёжного инструмента, который можно ставить на расписание и не следить за ним постоянно.