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