Spec-Zone.ru › CakePHP 2.8

Класс 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.

Пакет: Cake\Error
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Error/ExceptionRenderer.php

Краткое описание свойств

  • $controller public
    Controller
    Экземпляр контроллера.
  • $error public
    Exception
    Обрабатываемое исключение.
  • $method public
    string
    Метод, соответствующий исключению, для которого предназначен этот объект.
  • $template public
    string
    Шаблон для отображения CakeException.

Краткое описание методов

  • __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
Исключение для отображения.

render()source public

render( )

Отображает ответ для исключения.

Подробное описание свойств

$controllersource

public Controller

Экземпляр контроллера.

null

$errorsource

public Exception

Обрабатываемое исключение.

null

$methodsource

public string

Метод, соответствующий исключению, для которого предназначен этот объект.

''

$templatesource

public string

шаблон для отображения CakeException

''

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API