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

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

Разбор

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

Проверь себя · 1/3разбор после ответа
После запроса в базу вы получаете список rows, который иногда бывает пустым. Код rows[0] падает с IndexError. Какой вариант лучше, если пустой результат — ожидаемый кейс?
Тренировать Python в Telegram

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