[Symfony] Creating an event subscriber for a 404 NotFoundHttpException

Published on 2023-03-30 • Modified on 2023-03-30

This snippet shows how to create an event subscriber for a 404 NotFoundHttpException. Here, we test if a given path was accessed (this path doesn't math any application route). We can also log something or notify; check out the documentation example. You can test the snippet here.



namespace App\Subscriber;

use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Event\ExceptionEvent;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

final class NotFoundExceptionSubscriber implements EventSubscriberInterface
    public static function getSubscribedEvents(): array
        return [
            ExceptionEvent::class => 'onKernelException',

    public function onKernelException(ExceptionEvent $event): void
        $exception = $event->getThrowable();
        if ($exception instanceof NotFoundHttpException) {
            $path = $event->getRequest()->getPathInfo();
            if ($path === '/404') {
                $event->setResponse(new Response('404 found!'));

 More on Stackoverflow   Read the doc  Random snippet

  Work with me!