Явные ошибки лучше скрытых

The Zen of Python содержит следующие строки:

Errors should never pass silently. Unless explicitly silenced.

Ошибки никогда не должны замалчиваться. Если они не замалчиваются явно.

Явные сообщения об ошибках позволяют раньше их обнаруживать и следовательно снижать затраты на их исправление. Следование этому принципу означает, что любой неоднозначности и потенциально неверном поведении следует генерировать исключение.

Такому подходу следует и стандартная библиотека Python. Например, при вызове метода pop() у пустого спискаopen in new window будет сгенерировано исключение IndexError: pop from empty list. Вместо этого метод мог бы, например, возвращать None, но тогда возникала бы неоднозначность — список пустой или просто последний элемент списка был None? Сходный подход применяется в других местах стандартной библиотеки Python: при попытке обратится к несуществующему индексу в списке, несуществующему ключу в словаре и т. д.

Другие примеры:

Ссылки на эту заметку

Эта заметка на GitHub

Обсудить на форуме

Последниее изменение: