Когда вы генерируете исключение, это обычно приводит к завершению оставшегося кода, если у вас нет оператора try...catch
. Таким образом, если сумма больше 200, а пользователь не авторизован, он выполнит блок внутри оператора if
.
Ссылка, которую вы указали, упоминает, что она «всплывет» на контроллер, где она будет перехвачена. Поскольку это не отражено в приведенном выше коде (модели), выполнение внутри модели останавливается и передается в стек контроллеру. Он не возвращается к вашей модели, поэтому строка, следующая за if
, не будет вызвана.
Обратитесь к руководству PHP по исключениям для получения дополнительной информации.