Лично я считаю, что исключение - вот что должно произойти. Допустим, по какой-то причине вы пишете программное обеспечение для ракет на Python. Представьте себе атомную бомбу и предположим, что существует метод с именем explode (timeToExplode), и timeToExplode передается как None. Я думаю, что вы были бы несчастны в конце дня, когда проиграли войну, потому что вы не обнаружили этого в тестировании.