try catch можно использовать не только для отлова случайных багов связанных с кривизной рук разработчика, а так же отлова исключений там где мы не можем быть полностью уверены в том, что все будет ок в данном участке кода, но и как инструмент при проектировании сложных приложений, генерируя исключения самостоятельно и отлавливая их на разных уровнях.