Исключения: как и зачем ловить

Иногда ошибка — не баг, а ожидаемая ситуация (неверный ввод). Такие ошибки ловят через try/except, чтобы программа не падала.

Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

Зачем ловить

Некоторые ошибки предсказуемы: пользователь ввёл текст вместо числа, файла нет на месте. Если их не обработать, программа аварийно завершится. try/except позволяет перехватить ошибку и продолжить работу разумно.

Как это выглядит

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

try:
    age = int(input('Возраст: '))
except ValueError:
    print('Введите число!')

Ловите конкретное

Указывайте тип ошибки (ValueError, FileNotFoundError), а не перехватывайте всё подряд. Слишком широкий except скроет настоящие баги. Обрабатывайте только то, что действительно ожидаете, — остальное пусть проявится.

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

Ловить все ошибки одним except — плохо? Да, так можно спрятать реальные баги; ловите конкретные типы.

Исключение — это всегда плохо? Нет, часто это нормальная ожидаемая ситуация, которую вы обрабатываете.

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание

Все обучающие игры «Дрон Кодер»

Одна вселенная — много модулей. Программирование, математика и логика в одной игре: пиши код, считай, решай задачи — а дрон-фермер летит по полю и собирает урожай. В каждом модуле первый уровень бесплатный, без регистрации.

📈 Математика · алгебра и графики
📖 Русский язык