Бросать исключение нужно во всех местах по коду.
В самом верху приложения, в main, их нужно отлавливать и обрабатывать, выписывая сообщения о ошибке и возвращая не 0.