Class ExceptionRenderer
Exception Renderer.
Captures and handles all unhandled exceptions. Displays helpful framework errors when debug is true. When debug is false a CakeException will render 404 or 500 errors. If an uncaught exception is thrown and it is a type that ExceptionHandler does not know about it will be treated as a 500 error.
Implementing application specific exception rendering
You can implement application specific exception handling by creating a subclass of ExceptionRenderer and configure it to be the exceptionRenderer
in config/error.php
Using a subclass of ExceptionRenderer
Using a subclass of ExceptionRenderer gives you full control over how Exceptions are rendered, you can configure your class in your config/app.php.
- Cake\Error\ExceptionRenderer implements Cake\Error\ExceptionRendererInterface
Properties summary
-
$controller
public -
$error
publicThe exception being handled.Exception
-
$method
publicThe method corresponding to the Exception this object is for.string
-
$template
publicTemplate to render for Cake\Core\Exception\Exceptionstring
Method Summary
- __construct() public
Creates the controller to perform rendering on the error response. If the error is a Cake\Core\Exception\Exception it will be converted to either a 400 or a 500 code error depending on the code used to construct the error.
- _code() protectedGet an error code value within range 400 to 506
- _customMethod() protectedRender a custom error method/template.
- _getController() protected
Get the controller instance to handle the exception. Override this method in subclasses to customize the controller used. This method returns the built in
ErrorController
normally, or if an error is repeated a bare controller will be used. - _message() protectedGet error message.
- _method() protectedGet method name
- _outputMessage() protectedGenerate the response using the controller object.
- _outputMessageSafe() protected
A safer way to render error messages, replaces all helpers, with basics and doesn't call component methods.
- _shutdown() protectedRun the shutdown events.
- _template() protectedGet template for rendering exception info.
- _unwrap() protected
Returns the unwrapped exception object in case we are dealing with a PHP 7 Error object
- render() publicRenders the response for the exception.
Method Detail
__construct()source public
__construct( Exception $exception )
Creates the controller to perform rendering on the error response. If the error is a Cake\Core\Exception\Exception it will be converted to either a 400 or a 500 code error depending on the code used to construct the error.
Parameters
- Exception
$exception
- Exception.
_code()source protected
_code( Exception $exception )
Get an error code value within range 400 to 506
Parameters
- Exception
$exception
- Exception.
Returns
integerError code value within range 400 to 506
_customMethod()source protected
_customMethod( string $method , Exception $exception )
Render a custom error method/template.
Parameters
- string
$method
- The method name to invoke.
- Exception
$exception
- The exception to render.
Returns
Cake\Http\Response
The response to send.
_getController()source protected
_getController( )
Get the controller instance to handle the exception. Override this method in subclasses to customize the controller used. This method returns the built in ErrorController
normally, or if an error is repeated a bare controller will be used.
Returns
Cake\Controller\Controller
Triggers
Controller.startup $controller_message()source protected
_message( Exception $exception , integer $code )
Get error message.
Parameters
- Exception
$exception
- Exception.
- integer
$code
- Error code.
Returns
stringError message
_method()source protected
_method( Exception $exception )
Get method name
Parameters
- Exception
$exception
- Exception instance.
Returns
string_outputMessage()source protected
_outputMessage( string $template )
Generate the response using the controller object.
Parameters
- string
$template
- The template to render.
Returns
Cake\Http\Response
A response object that can be sent.
_outputMessageSafe()source protected
_outputMessageSafe( string $template )
A safer way to render error messages, replaces all helpers, with basics and doesn't call component methods.
Parameters
- string
$template
- The template to render.
Returns
Cake\Http\Response
A response object that can be sent.
_shutdown()source protected
_shutdown( )
Run the shutdown events.
Triggers the afterFilter and afterDispatch events.
Returns
Cake\Http\Response
The response to serve.
_template()source protected
_template( Exception $exception , string $method , integer $code )
Get template for rendering exception info.
Parameters
- Exception
$exception
- Exception instance.
- string
$method
- Method name.
- integer
$code
- Error code.
Returns
stringTemplate name
_unwrap()source protected
_unwrap( Exception $exception )
Returns the unwrapped exception object in case we are dealing with a PHP 7 Error object
Parameters
- Exception
$exception
- The object to unwrap
Returns
Exception|Errorrender()source public
render( )
Renders the response for the exception.
Returns
Cake\Http\Response
The response to be sent.
Implementation of
Cake\Error\ExceptionRendererInterface::render()
Properties detail
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.4/class-Cake.Error.ExceptionRenderer.html