Исключения
Что такое исключение
Исключение — это ошибка, которая возникает во время выполнения программы. Она прерывает выполнение кода, если не обработана.
Блок 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)