Spec-Zone.ru › CakePHP 4.2

Класс ExceptionRenderer

Обработчик исключений.

Перехватывает и обрабатывает все необработанные исключения. Отображает полезные ошибки фреймворка, когда debug равен true. Когда debug равен false, ExceptionRenderer отобразит ошибки 404 или 500. Если возникает неперехваченное исключение, тип которого ExceptionHandler не знает, оно будет обработано как ошибка 500.

Реализация обработки исключений, специфичных для приложения

Вы можете реализовать обработку исключений, специфичных для приложения, создав подкласс ExceptionRenderer и настроив его как exceptionRenderer в файле config/error.php

Использование подкласса ExceptionRenderer

Использование подкласса ExceptionRenderer даёт вам полный контроль над тем, как отображаются исключения. Вы можете настроить свой класс в файле config/app.php.

Пространство имён: Cake\Error

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

  • $controller protected
    Cake\Controller\Controller

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

  • $error protected
    Throwable

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

  • $exceptionHttpCodes protected
    array

    Сопоставление исключений и кодов HTTP-статусов.

  • $method protected
    string

    Метод, соответствующий этому исключению.

  • $request protected
    Cake\Http\ServerRequest|null

    Если задано, это запрос, используемый для создания контроллера, который отобразит ошибку.

  • $template protected
    string

    Шаблон для отображения Cake\Core\Exception\CakeException

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

  • __construct() public

    Создает контроллер для рендеринга ответа об ошибке.

  • __debugInfo() public

    Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.

  • _customMethod() protected

    Рендерит пользовательский метод/шаблон ошибки.

  • _getController() protected

    Получает экземпляр контроллера для обработки исключения. Переопределите этот метод в подклассах, чтобы настроить используемый контроллер. Этот метод возвращает встроенный ErrorController обычно, или если ошибка повторяется, будет использоваться базовый контроллер.

  • _message() protected

    Получение сообщения об ошибке.

  • _method() protected

    Получение имени метода.

  • _outputMessage() protected

    Генерирует ответ с использованием объекта контроллера.

  • _outputMessageSafe() protected

    Более безопасный способ отображения сообщений об ошибках, заменяет все помощники базовыми и не вызывает методы компонентов.

  • _shutdown() protected

    Выполнение событий завершения работы.

  • _template() protected

    Получение шаблона для рендеринга информации об исключении.

  • clearOutput() protected

    Очистка буферов вывода, чтобы страницы ошибок отображались правильно.

  • getHttpCode() protected

    Получает соответствующий код состояния HTTP для исключения.

  • render() public

    Рендерит ответ для исключения.

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

__construct() public

__construct(Throwable $exception, Cake\Http\ServerRequest $request = null)

Создает контроллер для рендеринга ответа об ошибке.

Параметры

Throwable $exception

Исключение.

Cake\Http\ServerRequest $request optional

Запрос, если он установлен, он будет использован вместо создания нового.

__debugInfo() public

__debugInfo(): array

Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.

Возвращаемое значение

array

_customMethod() protected

_customMethod(string $method, Throwable $exception): Cake\Http\Response

Рендерит пользовательский метод/шаблон ошибки.

Параметры

string $method

Имя метода для вызова.

Throwable $exception

Исключение для рендеринга.

Возвращаемое значение

Cake\Http\Response

_getController() protected

_getController(): Cake\Controller\Controller

Получает экземпляр контроллера для обработки исключения. Переопределите этот метод в подклассах, чтобы настроить используемый контроллер. Этот метод возвращает встроенный ErrorController обычно, или если ошибка повторяется, будет использоваться базовый контроллер.

Возвращаемое значение

Cake\Controller\Controller

_message() protected

_message(Throwable $exception, int $code): string

Получение сообщения об ошибке.

Параметры

Throwable $exception

Исключение.

int $code

Код ошибки.

Возвращаемое значение

string

_method() protected

_method(Throwable $exception): string

Получение имени метода.

Параметры

Throwable $exception

Экземпляр исключения.

Возвращаемое значение

string

_outputMessage() protected

_outputMessage(string $template): Cake\Http\Response

Генерирует ответ с использованием объекта контроллера.

Параметры

string $template

Шаблон для рендеринга.

Возвращаемое значение

Cake\Http\Response

_outputMessageSafe() protected

_outputMessageSafe(string $template): Cake\Http\Response

Более безопасный способ отображения сообщений об ошибках, заменяет все помощники базовыми и не вызывает методы компонентов.

Параметры

string $template

Шаблон для рендеринга.

Возвращаемое значение

Cake\Http\Response

_shutdown() protected

_shutdown(): Cake\Http\Response

Выполнение событий завершения работы.

Вызывает события afterFilter и afterDispatch.

Возвращаемое значение

Cake\Http\Response

_template() protected

_template(Throwable $exception, string $method, int $code): string

Получение шаблона для рендеринга информации об исключении.

Параметры

Throwable $exception

Экземпляр исключения.

string $method

Имя метода.

int $code

Код ошибки.

Возвращаемое значение

string

clearOutput() protected

clearOutput(): void

Очистка буферов вывода, чтобы страницы ошибок отображались правильно.

Возвращаемое значение

void

getHttpCode() protected

getHttpCode(Throwable $exception): int

Получает соответствующий код состояния HTTP для исключения.

Параметры

Throwable $exception

Исключение.

Возвращаемое значение

int

render() public

render(): Cake\Http\Response

Рендерит ответ для исключения.

Возвращаемое значение

Cake\Http\Response

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

$controller protected

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

Тип

Cake\Controller\Controller

$error protected

Исключение, обрабатываемое в данный момент.

Тип

Throwable

$exceptionHttpCodes protected

Сопоставление исключений с кодами состояния HTTP.

Это можно настроить для пользователей, которые не хотят, чтобы конкретные исключения генерировали ошибки 404 или хотят, чтобы их исключения приложения автоматически преобразовывались.

Тип

array

$method protected

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

Тип

string

$request protected

Если задан, этот запрос будет использоваться для создания контроллера, который отобразит ошибку.

Тип

Cake\Http\ServerRequest|null

$template protected

Шаблон для рендеринга Cake\Core\Exception\CakeException

Тип

string

© 2005–present 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/4.2/class-Cake.Error.ExceptionRenderer.html

Spec-Zone.ru

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