Если в блоке
try
не возникнет исключения, то выполнится весь код внутри этого блока. После выполнения блока
try
интерпретатор Python перейдет к выполнению блока
except
, но поскольку исключения не было, то этот блок будет пропущен.
Если присутствует блок
else
, то он будет выполнен сразу после успешного завершения блока
try
и перед блоком
finally
(если он есть). Блок
else
предназначен для кода, который должен выполняться только в случае отсутствия исключений в
try
.
Независимо от того, было исключение или нет, блок
finally
(если он определен) всегда будет выполнен. Он гарантирует, что код, необходимый для очистки ресурсов (например, закрытие файлов или сетевых соединений), выполнится в любом случае.
**Пример:**
try:
result = 10 / 2 # Код выполняется без ошибок
except ZeroDivisionError:
print("Деление на ноль!")
else:
print("Результат:", result) # Этот блок выполнится
finally:
print("Блок finally выполняется всегда.")
В этом примере будет выведено:
Результат: 5.0
Блок finally выполняется всегда.