PyGuide

Исключения

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

Исключение — это ошибка, которая возникает во время выполнения программы. Она прерывает выполнение кода, если не обработана.

Блок try

С помощью try можно "поймать" потенциально опасный код и обработать ошибки.

try:
    x = 10 / 0
except ZeroDivisionError:
    print("Деление на ноль невозможно")

Блок except

except ловит определённый тип ошибки и позволяет программе продолжить работу.

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

try:
    number = int(input("Введите число: "))
    result = 10 / number
except ValueError:
    print("Вы ввели не число")
except ZeroDivisionError:
    print("Деление на ноль невозможно")

Можно указывать несколько блоков except для разных типов ошибок.

Блок else

else выполняется, если ошибок в try не было.

try:
    number = int(input("Введите число: "))
except ValueError:
    print("Это не число")
else:
    print("Вы ввели число:", number)

Блок finally

finally выполняется всегда, независимо от того, возникла ошибка или нет. Обычно используется для очистки ресурсов (например, закрытие файлов).

try:
    file = open("example.txt")
    data = file.read()
except FileNotFoundError:
    print("Файл не найден")
finally:
    file.close()

Создание собственных исключений

Можно определить свои ошибки, наследуясь от Exception.

class MyError(Exception):
    pass

try:
    raise MyError("Произошла моя ошибка")
except MyError as e:
    print(e)