Добавить в корзинуПозвонить
Найти в Дзене
Просто Python

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

В процессе выполнения программы могут возникать ошибки (исключения), например, деление на ноль или попытка открыть несуществующий файл. Чтобы программа не завершалась аварийно, ошибки можно обрабатывать. Основной способ обработки ошибок — блок try-except. try:
x = 10 / 0 # Деление на ноль вызовет ошибку
except ZeroDivisionError:
print("Ошибка: деление на ноль!") Можно обрабатывать разные ошибки отдельно: try:
num = int(input("Введите число: "))
result = 10 / num
except ValueError:
print("Ошибка: введено не число!")
except ZeroDivisionError:
print("Ошибка: деление на ноль!") try:
f = open("file.txt")
data = f.read()
except FileNotFoundError:
print("Файл не найден")
else:
print("Файл успешно прочитан")
finally:
f.close()
print("Файл закрыт") Можно создавать исключения с помощью raise: def check_positive(number):
if number < 0:
raise ValueError("Число должно быть положительным")
else:
print("Число положительное")
ch
Оглавление

В процессе выполнения программы могут возникать ошибки (исключения), например, деление на ноль или попытка открыть несуществующий файл. Чтобы программа не завершалась аварийно, ошибки можно обрабатывать.

Конструкция try-except

Основной способ обработки ошибок — блок try-except.

try:
x = 10 / 0 # Деление на ноль вызовет ошибку
except ZeroDivisionError:
print("Ошибка: деление на ноль!")

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

Можно обрабатывать разные ошибки отдельно:

try:
num = int(input("Введите число: "))
result = 10 / num
except ValueError:
print("Ошибка: введено не число!")
except ZeroDivisionError:
print("Ошибка: деление на ноль!")

Блок else и finally

  • else — выполняется, если ошибки не возникло.
  • finally — выполняется всегда, даже если была ошибка (например, для закрытия ресурсов).

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

Генерация исключений вручную

Можно создавать исключения с помощью raise:

def check_positive(number):
if number < 0:
raise ValueError("Число должно быть положительным")
else:
print("Число положительное")

check_positive(-5) # Выдаст ошибку ValueError

Итог

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