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

AИспользовать except Exception: и в нём просто ставить price = 0.
BИспользовать except ValueError: и обработать только ожидаемую ошибку конвертации.
CИспользовать except: и в нём делать pass.
DНе использовать try/except, пусть скрипт падает всегда, даже если это ожидаемо.
Правильный ответ. Ловите ожидаемые исключения конкретных типов, например ValueError при int(...).

Разбор

В аналитических пайплайнах часть ошибок ожидаема: например, плохие значения в полях. Но ловить всё подряд (except Exception:) опасно — можно скрыть баги в коде. Правильнее ловить конкретное исключение (ValueError для некорректного значения), чтобы обработка была контролируемой и отладка — проще.

Проверь себя · 1/3разбор после ответа
Вы парсите событие в словарь event. Что произойдёт при обращении event["currency"], если ключа currency в словаре нет?
Тренировать Python в Telegram

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