Класс ExceptionRenderer
Обработчик исключений.
Захватывает и обрабатывает все необработанные исключения. Отображает полезные ошибки фреймворка, когда debug > 1. Когда debug < 1, CakeException будет отображать ошибки 404 или 500. Если брошено неперехваченное исключение, тип которого ExceptionHandler не знает, оно будет обработано как ошибка 500.
Реализация обработки исключений, специфичных для приложения
Вы можете реализовать обработку исключений, специфичных для приложения, несколькими способами:
- Создайте AppController::appError();
- Создайте подкласс ExceptionRenderer и настройте его как
Exception.renderer
Использование AppController::appError();
Этот метод контроллера вызывается вместо стандартной обработки исключений. Он получает брошенное исключение в качестве единственного аргумента. Вы должны реализовать обработку ошибок в этом методе.
Использование подкласса ExceptionRenderer
Использование подкласса ExceptionRenderer даёт вам полный контроль над тем, как отображаются исключения. Вы можете настроить свой класс в вашем файле core.php, с Configure::write('Exception.renderer', 'MyClass'); Вы должны разместить все пользовательские обработчики исключений в app/Lib/Error.
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Error/ExceptionRenderer.php
Краткое описание свойств
- Экземпляр контроллера.
$controllerpublic -
$errorpublicОбрабатываемое исключение.Exception -
$methodpublicМетод, соответствующий исключению, для которого предназначен этот объект.string -
$templatepublicШаблон для отображения CakeExceptionstring
Краткое описание методов
- __construct() public
Создаёт контроллер для обработки ответа на ошибку. Если ошибка — CakeException, она будет преобразована в ошибку кода 400 или 500 в зависимости от кода, использованного при создании ошибки.
- _cakeError() protectedОбщий обработчик внутренних ошибок фреймворка CakePHP.
- _getController() protected
Получает экземпляр контроллера для обработки исключения. Переопределите этот метод в подклассах для настройки используемого контроллера. Этот метод возвращает встроенный
CakeErrorControllerобычно, или если ошибка повторяется, будет использован базовый контроллер. - _outputMessage() protectedГенерирует ответ с использованием объекта контроллера.
- _outputMessageSafe() protected
Более безопасный способ отображения сообщений об ошибках, заменяет все помощники на базовые и не вызывает методы компонентов.
- _shutdown() protectedВыполняет события завершения работы.
- error400() publicУдобный метод для отображения страницы серии 400.
- error500() publicУдобный метод для отображения страницы 500.
- pdoError() publicУдобный метод для отображения PDOException.
- render() publicОтображает ответ для исключения.
Подробное описание методов
__construct()source public
__construct( Exception|ParseError $exception )
Создаёт контроллер для обработки ответа на ошибку. Если ошибка — CakeException, она будет преобразована в ошибку кода 400 или 500 в зависимости от кода, использованного при создании ошибки.
Параметры
- Exception|ParseError
$exception - Исключение
_cakeError()source protected
_cakeError( CakeException $error )
Общий обработчик внутренних ошибок фреймворка CakePHP.
Параметры
-
CakeException$error - Исключение для отображения.
_getController()source protected
_getController( Exception $exception )
Получает экземпляр контроллера для обработки исключения. Переопределите этот метод в подклассах для настройки используемого контроллера. Этот метод возвращает встроенный CakeErrorController обычно, или если ошибка повторяется, будет использован базовый контроллер.
Параметры
- Exception
$exception - Исключение, для которого нужно получить контроллер.
Возвращает
Controller_outputMessage()source protected
_outputMessage( string $template )
Генерирует ответ с использованием объекта контроллера.
Параметры
- string
$template - Шаблон для отображения.
_outputMessageSafe()source protected
_outputMessageSafe( string $template )
Более безопасный способ отображения сообщений об ошибках, заменяет все помощники на базовые и не вызывает методы компонентов.
Параметры
- string
$template - Шаблон для отображения
_shutdown()source protected
_shutdown( )
Выполняет события завершения работы.
Вызывает события afterFilter и afterDispatch.
error400()source public
error400( Exception $error )
Удобный метод для отображения страницы серии 400.
Параметры
- Exception
$error - Исключение для отображения.
error500()source public
error500( Exception $error )
Удобный метод для отображения страницы 500.
Параметры
- Exception
$error - Исключение для отображения.
pdoError()source public
pdoError( PDOException $error )
Удобный метод для отображения PDOException.
Параметры
- PDOException
$error - Исключение для отображения.
Подробное описание свойств
$methodsource
public string
Метод, соответствующий исключению, для которого предназначен этот объект.
''
© 2005–2016 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/2.9/class-ExceptionRenderer.html