- Часть I. Вводное руководство
- Глава 2. Использование интерпретатора
- 2.2. Интерпретатор и его среда
- 8.6 "Страхование" от ошибок
8.6 "Страхование" от ошибок
Ещё один вариант записи инструкции try — с определением "страховочной" ветви finally, которая будет выполняться при любых обстоятельствах. Например:
>>> try:
... raise KeyboardInterrupt()
... finally:
... print 'До свидания!'
...
До свидания!
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
KeyboardInterrupt
Ветвь finally выполняется независимо от того, возникла ли исключительная ситуация во время выполнения блока try или нет, в том числе и если выход происходит по инструкции break или return.
Инструкция try может иметь либо одну или несколько ветвей except, либо одну ветвь finally, но не оба варианта сразу.