Работа с оператором try…except…finally в Python на примерах
Оператор try…except позволяет перехватывать одно или несколько исключений в предложении try и обрабатывать каждое из них в предложениях except.
- Введение в оператор Python try…catch…finally
- Примеры с оператором try…catch…finally в Python
- Оператор try…finally
Введение в оператор 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
Обычно этот оператор используется, когда вы не можете обработать исключение, но хотите очистить ресурсы. Например, вы хотите закрыть файл, который был открыт.