Reputation: 48899
From the documentation:
All of the error templates live inside TwigBundle. To override the templates, we simply rely on the standard method for overriding templates that live inside a bundle.
And:
To see the full list of default error templates, see the Resources/views/Exception directory of the TwigBundle.
Looking at the after-mentioned directory i can find several files. I'm interested in custom templates for 403, 404 and 500 errors, so i created error.html.twig
(parent template) and error403.html.twig
, error404.html.twig
and error500.html.twig
that extends from 'TwigBundle:Exception:error.html.twig'
(overridden by my custom parent template).
Is this correct? What happens if another kind of error or exception is thrown?
Upvotes: 1
Views: 2788
Reputation: 2710
Yes it is correct.
All other kind of exceptions will be caught by Kernel and error500.html.twig page will be rendered.
To test it, you can turn off your debug for a moment, by switching second parameter passed to AppKerner constructor in app_dev.php
$kernel = new AppKernel('dev', false);
Then you can
throw new \Exception(); // test 500 error page
throw new \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException();
or
throw new \Symfony\Component\HttpKernel\Exception\HttpException(403); //to test 403 error page
Upvotes: 8