Задать вопрос

Как правильно отловить Exception?

Как обработать Exception, чтоб появилась стандартная yii2 страница 404?
Без создания своего класса и чтоб обработка выполнялась для всех исключений
a00e9b1bb0844b1797898641cbc67b6b.bmp
try
            {
                $activeCategory = NewsCategory::find()
                        ->where(['name_en' => Yii::$app->request->get('category')])
                        ->one();
                $model = News::find()
                        ->where(['newsCategory_id' => $activeCategory->id]);
            } catch (Exception $ex) {
                /* */
            }

Уверен, что моя проблема легко решается, но в гугле нахожу только статьи по созданию своего обработчика
  • Вопрос задан
  • 324 просмотра
Подписаться 1 Оценить 3 комментария
Решения вопроса 1
@polar-bear
Добавьте в ваш код слеш перед Exception. Тогда будет работать как вам нужно.
} catch (\Exception $ex) {
    throw new NotFoundHttpException('Not found');
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
boomrap
@boomrap Автор вопроса
Сделал как вы сказали, ничего не изменилось
2a7af7a33f9b456b9f4b3385f3c17628.bmp
Ответ написан
bitver
@bitver
Уберите try,
$activeCategory = NewsCategory::find()
                        ->where(['name_en' => Yii::$app->request->get('category')])
                        ->one();
if(!$activeCategory) { // Или ошибка
  throw new NotFoundException(); 
}
$id = $activeCategory->id; // Иначе всё ок
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы