Урок 48. Исключения: обработка ошибок

📁 Блок: Python Fundamentals / Обработка ошибок ⏱️ Время изучения: ~100 мин 🎯 Сложность: Средняя
#try #except #as #print #else #finally #close #type #raise #assert #get #class #basicconfig #int #open #exit #input #while #break #if #super #def #factorial #or #return #import #with #float #strip #for #in #from #is #not #add #pass #read #len

⚡ Кратко: что важно

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

Базовая конструкция — try/except. В блоке try пишем код, который может сломаться, в except — что делать при конкретной ошибке.

else выполняется, если исключения не было; finally выполняется всегда — удобно для освобождения ресурсов.

raise позволяет самому сообщить об ошибке, а logging — записывать ошибки в файл вместо простого print.

Топ-3 ошибки: ловить «голый» except:; ставить общий Exception раньше конкретных; подавлять ошибки пустым pass.

О чём этот урок

Любая программа рано или поздно сталкивается с некорректными данными: пользователь ввёл буквы вместо числа, файл не найден, делитель оказался нулём. Без обработки такие ситуации приводят к «падению» программы с длинным traceback. Исключения позволяют перехватить ошибку, сообщить о ней понятным языком и продолжить работу.

В уроке разберём, как устроена иерархия исключений в Python, как правильно использовать try/except/else/finally, как вручную возбуждать исключения через raise и как логировать ошибки модулем logging.

Цели

  • Понимать, что такое исключение, traceback и иерархия BaseException → Exception.
  • Перехватывать конкретные исключения и обрабатывать несколько типов ошибок.
  • Использовать else и finally для чистой логики и гарантированной очистки.
  • Возбуждать исключения через raise и создавать собственные классы исключений.
  • Применять assert для внутренних проверок и отладки.
  • Логировать ошибки в консоль и файл с понятным форматом.
  • Следовать лучшим практикам: не ловить всё подряд, не подавлять ошибки, логировать.

Что повторить заранее

🎯 Что изучать дальше

  • Урок 49 — Практикум 12: закрепите исключения и рекурсию на практических задачах.
  • Попрактикуйтесь добавлять обработку ошибок к уже написанным программам: не доверяйте внешним данным.
  • Загляните в ресурсы — там ссылки на официальную документацию по исключениям и logging.