TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.93K subscribers
Post #4879 246
Python: задачки и вопросы
Развёрнутое пояснение:

1. Вызывается persist_order, и блок try печатает строку write.

2. Инструкция raise создаёт исключение TimeoutError, после чего управление обязательно переходит в блок finally.

3. Блок finally печатает release и выполняет return со значением queued.

4. Этот return завершает функцию обычным образом и подавляет ещё не обработанное исключение TimeoutError.

5. Внешний print получает строку queued и печатает её, поэтому итоговый вывод состоит из write, release и queued.

Почему это важно

Задача относится к управлению исключениями и освобождению ресурсов. return внутри finally может незаметно скрыть сбой базы данных, из-за чего вызывающий код сочтёт операцию успешной. В прикладном коде блок finally обычно оставляют для очистки, а результат возвращают вне него.
  • ✍ 2
More from @quiz_python
  1. Sep 22, 2026Развёрнутое пояснение: 1. Вызов build_batch создаёт генератор, но его тело пока не исполня…
  2. Sep 22, 2026Post #4884
  3. Sep 22, 2026Развёрнутое пояснение: 1. Вызывается load_config, управление переходит в блок try. 2. Перв…
  4. Sep 22, 2026Post #4882
  5. Sep 21, 2026Развёрнутое пояснение: 1. make_handlers создаёт пустой список handlers. 2. Цикл дважды при…
  6. Sep 21, 2026Post #4880
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →