Обработка ошибок: try/except

try/except ловит ошибки во время работы программы, чтобы она не падала, а реагировала на них.

Зачем ловить ошибки

Некоторые ошибки случаются только во время работы: пользователь ввёл текст вместо числа, файла не оказалось на месте. Такие ошибки называют исключениями. Без обработки программа аварийно завершится.

Как работает try/except

Код, который может дать сбой, кладут в блок try. Если возникнет ошибка, управление перейдёт в блок except, где её обрабатывают — например, показывают понятное сообщение вместо падения.

try:
    n = int(input())
except ValueError:
    print("Введите число!")

Частые ошибки новичка

Не стоит заворачивать в try весь код подряд и молча гасить любые ошибки — так баги прячутся. Ловите конкретные исключения (ValueError, ZeroDivisionError) и обрабатывайте их осмысленно. Блок try нужен только там, где ошибка действительно возможна.

Частые вопросы

Чем ошибка отличается от исключения? Исключение — это ошибка, возникшая во время работы, которую можно поймать.

Что такое finally? Необязательный блок, который выполнится в любом случае — с ошибкой или без.

Начать игру бесплатно