если код в try выполняется с ошибкой, то код except блок тут же исполняет определенные действия но никто не мешает наделать кучу if, и обрабатывать ошибки подряд - как в принципе на C код и пишут
Тем, что ветвление предназначено для записи алгоритма, а try / except - для обработки ошибочных ситуаций, возникающих при работе этого алгоритма. Но, разумеется, никто не мешает напихать if вместо try и try вместо if. Только вот понимать такой код будет намного сложнее.