Если в блоке
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 выполняется всегда.