Вы читаете сумму из CSV как строку value = '3.14' и пытаетесь сделать int(value). Что произойдёт?
AБудет выброшен
ValueError, потому что строка не является корректным целым числом.BБудет выброшен
TypeError, потому что int(...) не умеет принимать строки.CВернётся число 3.14 типа
float.DВернётся число 3 типа
int без ошибок.Правильный ответ.
ValueError часто означает: тип входа подходит, но значение нельзя преобразовать/интерпретировать.Разбор
Здесь тип аргумента для int(...) допустим (строка), но само значение не соответствует формату целого числа. Это типичный ValueError. В отладке это сигнал проверить формат данных и решить, что делать: парсить как float, округлять по правилам бизнеса или валидировать вход и поднимать raise.
Проверь себя · 1/3разбор после ответа
В отчёте вы считаете сумму и случайно складываете число и строку:
total + "10". Какое исключение наиболее вероятно?Ещё вопросы по теме «Исключения и отладка»
- В обработчике данных вы используете конструкцию `try`/`except`/`finally`. Внутри `try` происходит ошибка, она поймана в `except`. Что произойдёт с кодом в `finally`?
- Вы парсите событие в словарь `event`. Что произойдёт при обращении `event["currency"]`, если ключа `currency` в словаре нет?
- В отчёте вы считаете сумму и случайно складываете число и строку: `total + "10"`. Какое исключение наиболее вероятно?
- Скрипт получает список строк, но иногда он короче ожидаемого. Что произойдёт при обращении `rows[3]`, если в списке всего 3 элемента?
- Вы пишете функцию, которая внутри `try` делает `return`, а в `finally` закрывает ресурс (например, файл или соединение). Что произойдёт с кодом в `finally` при `return` из `try`?
- Все вопросы по «Исключения и отладка» →