Класс 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Шаблон для отображения CakeException.string
Краткое описание методов
- __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.
http://api.cakephp.org/2.8/class-ExceptionRenderer.html