Явные ошибки лучше скрытых
The Zen of Python содержит следующие строки:
Errors should never pass silently. Unless explicitly silenced.
Ошибки никогда не должны замалчиваться. Если они не замалчиваются явно.
Явные сообщения об ошибках позволяют раньше их обнаруживать и следовательно снижать затраты на их исправление. Следование этому принципу означает, что любой неоднозначности и потенциально неверном поведении следует генерировать исключение.
Такому подходу следует и стандартная библиотека Python. Например, при вызове метода pop() у пустого списка будет сгенерировано исключение IndexError: pop from empty list. Вместо этого метод мог бы, например, возвращать None, но тогда возникала бы неоднозначность — список пустой или просто последний элемент списка был None? Сходный подход применяется в других местах стандартной библиотеки Python: при попытке обратится к несуществующему индексу в списке, несуществующему ключу в словаре и т. д.
Другие примеры: