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

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

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

Зачем ловить

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

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

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

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

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

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

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

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

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

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

Задание