РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
524 of 1361 menu

Исключение HttpException

Исключение HttpException используется для генерации HTTP-ошибок в приложении Symfony. Оно наследуется от класса \RuntimeException и реализует интерфейс HttpExceptionInterface. Первым параметром передаётся статус-код HTTP, вторым - сообщение об ошибке, третьим - предыдущее исключение, четвёртым - массив заголовков ответа. При выбросе этого исключения Symfony автоматически вернёт клиенту ответ с указанным статус-кодом.

Синтаксис

use Symfony\Component\HttpKernel\Exception\HttpException; throw new HttpException($statusCode, $message, $previous, $headers);

Пример

Давайте выбросим исключение с кодом 404 и сообщением 'Page not found':

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Exception\HttpException; class ArticleController extends AbstractController { public function index(): Response { throw new HttpException(404, 'Page not found'); } } ?>

Результат выполнения кода:

Page not found

Пример

Давайте передадим массив заголовков вместе с исключением:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Exception\HttpException; class ArticleController extends AbstractController { public function index(): Response { throw new HttpException( 503, 'Service unavailable', null, ['Retry-After' => '60'] ); } } ?>

Результат выполнения кода:

Service unavailable

Пример

Давайте перехватим исключение и выведем его статус-код:

<?php use Symfony\Component\HttpKernel\Exception\HttpException; try { throw new HttpException(403, 'Access denied'); } catch (HttpException $e) { echo $e->getStatusCode(); } ?>

Результат выполнения кода:

403

Смотрите также

  • исключение NotFoundHttpException,
    которое представляет ошибку 404
  • исключение AccessDeniedHttpException,
    которое представляет ошибку 403
  • интерфейс HttpExceptionInterface,
    который реализует HTTP-исключение
  • метод getStatusCode,
    который возвращает статус-код исключения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить