Обработка исключений в Python

Обложка к статье "Обработка исключений в Python"

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

Основные понятия

Исключения

Исключения – это объекты, которые сигнализируют о возникновении ошибки. Когда происходит ошибка, генерируется исключение, и программа пытается его обработать. Если исключение не обрабатывается, программа завершается с сообщением об ошибке.

Основные типы исключений

Некоторые распространённые исключения в Python включают:

  • ZeroDivisionError: Деление на ноль
  • TypeError: Неправильный тип данных
  • ValueError: Неправильное значение
  • IndexError: Индекс вне диапазона
  • KeyError: Отсутствие ключа в словаре
  • FileNotFoundError: Файл не найден

Основные конструкции для обработки исключений

В Python для обработки исключений используются конструкции try, except, else и finally.

Блок try и except

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

Синтаксис

try:
    # код, который может вызвать исключение
except Ошибка:
    # код для обработки исключения

Пример

try:
    result = 10 / 0
except ZeroDivisionError:
    print("Деление на ноль невозможно!")
# Вывод: Деление на ноль невозможно!

Блоки else и finally

Блок else выполняется, если в блоке try не произошло исключение. Блок finally выполняется в любом случае, независимо от того, произошло исключение или нет.

Синтаксис

try:
    # код, который может вызвать исключение
except Ошибка:
    # код для обработки исключения
else:
    # код, который выполняется, если исключение не произошло
finally:
    # код, который выполняется в любом случае

Пример

try:
    result = 10 / 2
except ZeroDivisionError:
    print("Деление на ноль невозможно!")
else:
    print(f"Результат: {result}")
finally:
    print("Выполнение завершено.")
# Вывод:
# Результат: 5.0
# Выполнение завершено.

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

Можно обрабатывать несколько типов исключений, используя кортеж в блоке except.

Пример

try:
    value = int("not a number")
except (ValueError, TypeError):
    print("Произошла ошибка значения или типа данных!")
# Вывод: Произошла ошибка значения или типа данных!

Получение информации об исключении

Можно получить информацию о возникшем исключении, используя ключевое слово as.

Пример

try:
    result = 10 / 0
except ZeroDivisionError as e:
    print(f"Ошибка: {e}")
# Вывод: Ошибка: division by zero

Оцените статью
( Пока оценок нет )
Обучение Python
Добавить комментарий