Обработка ошибок: try/except
try/except ловит ошибки во время работы программы, чтобы она не падала, а реагировала на них.
Зачем ловить ошибки
Некоторые ошибки случаются только во время работы: пользователь ввёл текст вместо числа, файла не оказалось на месте. Такие ошибки называют исключениями. Без обработки программа аварийно завершится.
Как работает try/except
Код, который может дать сбой, кладут в блок try. Если возникнет ошибка, управление перейдёт в блок except, где её обрабатывают — например, показывают понятное сообщение вместо падения.
try:
n = int(input())
except ValueError:
print("Введите число!")
Частые ошибки новичка
Не стоит заворачивать в try весь код подряд и молча гасить любые ошибки — так баги прячутся. Ловите конкретные исключения (ValueError, ZeroDivisionError) и обрабатывайте их осмысленно. Блок try нужен только там, где ошибка действительно возможна.
Частые вопросы
Чем ошибка отличается от исключения? Исключение — это ошибка, возникшая во время работы, которую можно поймать.
Что такое finally? Необязательный блок, который выполнится в любом случае — с ошибкой или без.
Начать игру бесплатно