Встречается на собеседованиях • сегодня

За что отвечает finally в блоке try...except

Блок finally выполняется всегда, независимо от того, было ли исключение в try или нет. Он используется для освобождения ресурсов (закрытие файлов, соединений и т.д.), которые должны быть обработаны в любом случае.

Пример:

python
file = None
try:
    file = open('example.txt', 'r')
    data = file.read()
except FileNotFoundError:
    print("Файл не найден")
finally:
    if file:  # Проверяем, был ли файл открыт
        file.close()  # Закрываем файл в любом случае
    print("Операция завершена")

Ключевые моменты:

  1. finally выполнится даже при return внутри try/except
  2. Исключения в finally перекроют исходные исключения
  3. Не заменяет контекстные менеджеры (with), но полезен в сложных сценариях
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы