Оператор try…except позволяет перехватывать одно или несколько исключений в предложении try и обрабатывать каждое из них в предложениях except.
Введение в оператор Python try…catch…finally
Оператор try…except также имеет в Python необязательное предложение, называемое finally:
try:
# code that may cause exceptions
except:
# code that handle exceptions
finally:
# code that clean up
Предложение finally всегда выполняется независимо от того, произошло исключение или нет. И оно выполняется после предложения try и любого предложения except.
Следующая блок-схема иллюстрирует предложение try…catch…finally в Python:

Примеры с оператором try…catch…finally в Python
В следующем примере используется оператор try…catch…finally:
a = 10
b = 0
try:
c = a / b
print(c)
except ZeroDivisionError as error:
print(error)
finally:
print('Finishing up.')
Выход:
division by zero Finishing up.
В этом примере предложение try вызывает исключение ZeroDivisionError при выполнении обоих предложений, кроме и окончательного.
Предложение try в следующем примере не вызывает ошибку. Поэтому все операторы в предложениях try и finally выполняются:
a = 10
b = 2
try:
c = a / b
print(c)
except ZeroDivisionError as error:
print(error)
finally:
print('Finishing up.')
Выход:
5.0 Finishing up.
Оператор try…finally
Предложение catch в операторе try…catch…finally является необязательным. Поэтому вы можете написать его так:
try:
# the code that may cause an exception
finally:
# the code that always executes
Обычно этот оператор используется, когда вы не можете обработать исключение, но хотите очистить ресурсы. Например, вы хотите закрыть файл, который был открыт.
