try:
x = 1 / 0
except ZeroDivisionError:
print("Ошибка деления на ноль")
finally:
print("Этот блок всегда выполнится")
ZeroDivisionError
. except ZeroDivisionError
перехватывает это исключение и выводит сообщение "Ошибка деления на ноль". finally
всегда выполняется, независимо от того, было ли исключение перехвачено или нет. Поэтому, после вывода сообщения об ошибке, будет выведено сообщение "Этот блок всегда выполнится".
Этот код демонстрирует использование блоков try
, except
и finally
в Python для обработки исключений.
Блок try
:
x = 1 / 0
. Деление на ноль в Python приводит к возникновению исключения ZeroDivisionError
.
Блок except ZeroDivisionError
:
try
возникло исключение ZeroDivisionError
.ZeroDivisionError
будет выведено сообщение "Ошибка деления на ноль" на консоль.
Блок finally
:
finally
выполняется всегда, независимо от того, было ли исключение в блоке try
или нет, и было ли оно обработано в блоке except
.При запуске этого кода будет выведен следующий результат:
Ошибка деления на ноль
Этот блок всегда выполнится
finally
часто используется для освобождения ресурсов (например, закрытия файлов или сетевых соединений), чтобы гарантировать, что эти ресурсы будут освобождены, даже если возникла ошибка.except
для обработки разных типов исключений.try
, не было обработано ни одним из блоков except
, оно будет "поднято" выше по стеку вызовов.