if-elsе (switch) используется в случаях-
"если не так, то попробуем с другой стороны",
то есть, это выбор вариантов исполнения.
а exception-
"если не так, то никак (потому, что ....)",
то есть остановка исполнения, и старт каких либо заключительных действий (например, записать ошибку в лог и отправить пользователю красивую картинку/заглушку).
таким образом, "if" - это штатный режим, а а exception- аварийный