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

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

Разбор

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

Можно заниматься бесплатно

Готовим вопросы…

Три вопроса по теме этой страницы, с объяснениями.

Продолжить в браузере

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