Скрипт получает список строк, но иногда он короче ожидаемого. Что произойдёт при обращении rows[3], если в списке всего 3 элемента?

AБудет выброшен KeyError: индекс воспринимается как отсутствующий ключ словаря
BБудет выброшен TypeError: индекс имеет несовместимый тип для индексации списка
CБудет выброшен ValueError: индекс выходит за допустимый диапазон значений функции
DБудет выброшен IndexError: индекс выходит за границы списка по размеру
Правильный ответ. IndexError возникает при обращении к несуществующему индексу списка.

Разбор

Если индекс выходит за границы списка, Python выбрасывает IndexError. На отладке это часто означает, что входные данные пустые или короче ожидаемого формата. Стоит проверить, как формируется список, и добавить явную обработку пустого или короткого случая. KeyError бывает у словарей, TypeError — при несовместимом типе индекса, а ValueError — при недопустимом значении аргумента у функции.

Проверь себя · 1/3разбор после ответа
Вы пишете функцию, которая внутри try делает return, а в finally закрывает ресурс (например, файл или соединение). Что произойдёт с кодом в finally при return из try?
Тренировать Python в Telegram

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