Исключения и обработка ошибок в Python

Мы просто и по делу рассказываем про ИИ-инструменты для работы: сравнения, пошаговые гайды, бесплатные альтернативы и реальные сценарии применения. Помогаем выбрать между ChatGPT, Gemini, Claude, локальными моделями и десятками узкоспециализированных сервисов — от дизайна и HR до аналитики и SEO. Меньше хайпа, больше практики и экономии времени каждый день.

pythonисключенияtry/except

Исключения в Python — это механизм, который помогает программе не “падать” молча, а корректно реагировать на ошибки. Для разработчика это основа надежного кода, особенно в API, парсинге, автоматизации, Data Science и backend-разработке.

Что такое исключение

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

Примеры популярных ошибок:

  • ZeroDivisionError — деление на ноль
  • FileNotFoundError — файл не найден
  • ValueError — некорректное значение
  • TypeError — операция с неподходящим типом
  • KeyError — отсутствует ключ в словаре

Базовая конструкция try/except

Она позволяет перехватить ошибку и обработать её без остановки всей программы.

try:
    result = 10 / 0
except ZeroDivisionError:
    print("Деление на ноль недопустимо")

Обработка нескольких исключений

Если код может упасть по разным причинам, ошибки лучше разделять.

try:
    number = int(input())
    print(100 / number)
except ValueError:
    print("Введите число")
except ZeroDivisionError:
    print("Нельзя делить на ноль")

Так код становится понятнее и проще в поддержке.

else и finally

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

try:
    file = open("data.txt")
except FileNotFoundError:
    print("Файл не найден")
else:
    print("Файл открыт успешно")
finally:
    print("Завершение операции")

Зачем использовать raise

raise позволяет выбросить исключение вручную, если данные не соответствуют бизнес-логике.

age = -5
if age < 0:
    raise ValueError("Возраст не может быть отрицательным")

Это важно для валидации входных данных и защиты от некорректных сценариев.

Как писать правильно

  • Не используйте пустой except: без необходимости
  • Перехватывайте конкретные типы ошибок
  • Не скрывайте исключения, если они важны для диагностики
  • Добавляйте понятные сообщения об ошибках
  • Логируйте ошибки в production-коде

Плохая практика 🚫

try:
    do_something()
except:
    pass

Такой код “проглатывает” любые ошибки и усложняет отладку.

Хорошая практика

try:
    do_something()
except Exception as e:
    print(f"Произошла ошибка: {e}")

Итог

Обработка исключений в Python нужна не для маскировки ошибок, а для управляемого поведения приложения. Грамотный try/except повышает стабильность системы, упрощает отладку и делает код безопаснее для пользователя и разработчика. 💡

📌 В конце стоит заглянуть в подборку каналов про IT — там много полезного по Python, backend, DevOps и разработке.

🗣 Подборки каналов
🧠 Каталог ботов и приложений
🗺 Навигация

Читайте так же