В обработчике данных вы используете конструкцию try/except/finally. Внутри try происходит ошибка, она поймана в except. Что произойдёт с кодом в finally?

AКод в finally выполнится в любом случае (и при ошибке, и без неё).
BКод в finally выполнится только если в try не было ошибок.
CКод в finally выполнится только если ошибка НЕ была поймана в except.
DКод в finally не выполнится, если сработал except.
Правильный ответ. Блок finally выполняется в любом случае: это место для гарантированного освобождения ресурсов.

Разбор

finally используют для действий, которые должны произойти независимо от исхода: закрыть файл, соединение, вернуть ресурсы. Даже если исключение возникло и было поймано в except, блок finally всё равно выполнится. Это ключевой инструмент для надежного кода и предсказуемой отладки.

Проверь себя · 1/3разбор после ответа
Вы преобразуете поле из CSV: price = int(text). Иногда там встречается N/A. Какой вариант обработки ошибки лучше соответствует цели «точечный except (не ловить всё подряд)»?
Тренировать Python в Telegram

Ещё вопросы по теме «Исключения и отладка»