Ответ
В Python для обработки исключений используется конструкция try/except со следующими блоками:
try:— блок, в котором размещается код, способный вызвать исключение (ошибку).except [ТипИсключения]:— блок-обработчик. Выполняется, если вtryвозникло исключение указанного типа. Можно использовать несколько блоковexceptдля разных типов ошибок.else:(опционально) — блок, который выполняется только если в блокеtryне было выброшено ни одного исключения.finally:(опционально) — блок, который выполняется всегда, независимо от того, было исключение или нет. Используется для обязательных действий (закрытие файлов, соединений с БД).
Практический пример с пояснением:
def safe_divide(x, y):
try:
result = x / y # Потенциально опасная операция
except ZeroDivisionError:
print("Ошибка: Деление на ноль!")
result = None
except TypeError:
print("Ошибка: Неверный тип аргументов (ожидались числа).")
result = None
else:
# Сработает только если деление прошло успешно
print(f"Деление выполнено успешно.")
finally:
# Сработает в любом случае, например, для логирования
print(f"Операция деления {x} / {y} завершена.n")
return result
print(safe_divide(10, 2)) # Сработают try -> else -> finally
print(safe_divide(10, 0)) # Сработают try -> except ZeroDivisionError -> finally