одно в защиту
@t_cat скажу.
как разраб
написать любой софт без багов - нереально.
99% багов на стадии сборки проявятся,
но есть так называемые "ошибки времени исполнения"
их можно определить именно во время работы, и никак иначе.
так же сами языки программирования, библиотеки, и драйвера имеют баги.
невозможно ничего запрогать без багов, всегда можно вызвать ошибку, в которой нет обработчика (try except)