yii2: правильный способ создания нового исключения

Просто для тестирования я добавил этот код в мою модель при установке debug = true и false.

if($packagedays < 1)
{
throw new \yii\base\Exception( "package days cannot be less than 1" );
}

Теперь, когда отладка Yii верна: я получаю

Исключение — yii \ base \ Exception
Пакетные дни не могут быть меньше 1

Но когда я устанавливаю отладку на ложь
я получаю
исключение
An internal server error occurred.

Вышеуказанная ошибка произошла, когда веб-сервер обрабатывал ваш запрос.

То, что я хочу, это заменить An internal server error occurred.
с
package days cannot be less than 1 когда debug=false

Что мне здесь не хватает?

Благодарю.

1

Решение

Вы должны просто бросить UserException :

UserException — это базовый класс для исключений, которые предназначены для показа конечным пользователям.

Прочитайте больше : http://www.yiiframework.com/doc-2.0/yii-base-userexception.html

7

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector