Исключения Python: try, except и traceback — задачи

Практика исключений Python: чтение traceback, ValueError, TypeError и ZeroDivisionError.

Состав подборки: 3 вопроса с выбором ответа, 3 задачи на код. Условия и формат проверки указаны на странице каждой задачи.

Разберите маленький пример

int("abc") вызывает ValueError, а 1 / 0 — ZeroDivisionError. Обработчик except ValueError не ловит вторую ошибку. Проверьте каждое действие отдельно: слишком широкий try затрудняет понимание, какой именно шаг завершился неудачно.

На что обратить внимание

  • Читайте тип исключения и строку возникновения, а не только последний текст сообщения.
  • Не превращайте любую ошибку в «неверный ввод»: ошибка программы требует другой диагностики.
  • В задаче с банковским счётом важен собственный контракт исключений; проверьте и тип, и состояние объекта после отказа.

Порядок практики

  1. Python ZeroDivisionError: division by zero — задача по traceback — выбор ответа.
  2. Почему except ValueError не перехватывает TypeError в Python — выбор ответа.
  3. Python try-except: ValueError и деление на ноль — код.
  4. Python try-except: ValueError и ZeroDivisionError — код.
  5. Обработка ошибок ввода и отсутствия файла — задача по Python — выбор ответа.
  6. Python: Иерархия исключений для банковского счёта — код.

Куда двигаться дальше

Для базовых упражнений подойдёт бесплатном курсе Python для новичков. Продолжение с классами и тестированием — программу курса Python для продвинутых.

Проверяйте исключения автоматическими тестами.