Исключения php возникнет только, если где-то в коде написано throw new Exception, или стандартные функции и классы php тоже могут выбросить исключение?
Насколько я знаю если перехватить исключение то скрипт НЕ падает и НЕ завершает работу, а продолжается. То есть всё что после catch { } может выполнится при желании.
У Вас в коде и без throw может быть выброшено исключение в случае ошибки. Простой пример - в какой-то момент произойдёт деление на 0. Стандартные функции и классы тоже могут выбрасывать исключения - если такие имеются, о ни написано в оф. документации