Spec-Zone.ru › Symfony 3.4

ErrorHandler

class ErrorHandler

Универсальный обработчик ошибок для движка PHP.

Предоставляет пять битовых полей, контролирующих обработку ошибок: - thrownErrors: ошибки, сбрасываемые как \ErrorException - loggedErrors: зарегистрированные ошибки, когда они не подавлены оператором @ - scopedErrors: ошибки, сбрасываемые или регистрируемые с их локальным контекстом - tracedErrors: ошибки, регистрируемые со своим стеком вызовов - screamedErrors: ошибки, никогда не подавляемые оператором @

Каждый уровень ошибок может быть зарегистрирован объектом логгера PSR-3. Режим «крика» применяется только к регистрации. Сбрасывание имеет приоритет над регистрацией. Неперехваченные исключения регистрируются как EERROR. Уровни EDEPRECATED и EUSERDEPRECATED никогда не сбрасываются. Уровни ERECOVERABLEERROR и EUSERERROR всегда сбрасываются. Неперехватываемые ошибки, которые могут быть обнаружены в момент завершения работы, регистрируются, если это разрешено полем scream. Поскольку ошибки имеют затраты на производительность, повторяющиеся ошибки регистрируются полностью, чтобы разработчик мог их увидеть и определить, что исправить их важнее, чем другие ошибки того же уровня.

Методы

static ErrorHandler register(ErrorHandler $handler = null, bool $replace = true)

Регистрирует обработчик ошибок.

__construct(BufferingLogger $bootstrappingLogger = null)
setDefaultLogger(LoggerInterface $logger, array|int $levels = E_ALL, bool $replace = false)

Устанавливает логгер для неназначенных уровней ошибок.

array setLoggers(array $loggers)

Устанавливает логгер для каждого уровня ошибок.

callable|null setExceptionHandler(callable $handler = null)

Устанавливает пользовательский обработчик исключений.

int throwAt(int $levels, bool $replace = false)

Устанавливает уровни ошибок PHP, которые сбрасывают исключение при возникновении ошибки PHP.

int scopeAt(int $levels, bool $replace = false)

Устанавливает уровни ошибок PHP, для которых сохраняются локальные переменные.

int traceAt(int $levels, bool $replace = false)

Устанавливает уровни ошибок PHP, для которых сохраняется стек вызовов.

int screamAt(int $levels, bool $replace = false)

Устанавливает уровни ошибок, где оператор @ игнорируется.

bool handleError(int $type, string $message, string $file, int $line)

Обрабатывает ошибки, отфильтровывая и регистрируя их в соответствии с настроенными битовыми полями.

handleException(Exception|Throwable $exception, array $error = null)

Обрабатывает исключение, регистрируя его и передавая дальше другому обработчику.

static handleFatalError(array $error = null)

Зарегистрированная функция завершения работы для обработки фатальных ошибок PHP.

static stackErrors() deprecated

Настраивает обработчик ошибок для обработки с задержкой.

static unstackErrors() deprecated

Извлекает из стека ошибки и передает их логгеру.

Подробности

static ErrorHandler register(ErrorHandler $handler = null, bool $replace = true)

Регистрирует обработчик ошибок.

Параметры

ErrorHandler $handler Обработчик для регистрации
bool $replace Заменить существующий обработчик или нет

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

ErrorHandler Зарегистрированный обработчик ошибок

__construct(BufferingLogger $bootstrappingLogger = null)

Параметры

BufferingLogger $bootstrappingLogger

setDefaultLogger(LoggerInterface $logger, array|int $levels = E_ALL, bool $replace = false)

Устанавливает логгер для неопределённых уровней ошибок.

Параметры

LoggerInterface $logger Логгер PSR-3, который будет установлен по умолчанию для указанных уровней
array|int $levels Массив соответствий E* к LogLevel::* или целое числовое поле битов констант E*
bool $replace Заменить существующий логгер или нет

array setLoggers(array $loggers)

Устанавливает логгер для каждого уровня ошибок.

Параметры

array $loggers Карта уровней ошибок к [LoggerInterface|null, LogLevel::*]

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

array Предыдущая карта

Исключения

InvalidArgumentException

callable|null setExceptionHandler(callable $handler = null)

Устанавливает пользовательский обработчик исключений.

Параметры

callable $handler Обработчик, который будет вызываться при возникновении исключения

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

callable|null Предыдущий обработчик исключений

int throwAt(int $levels, bool $replace = false)

Устанавливает уровни ошибок PHP, при которых происходит выброс исключения.

Параметры

int $levels Поле битов констант E_* для ошибок, которые вызывают исключения
bool $replace Заменить или дополнить предыдущее значение

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

int Предыдущее значение

int scopeAt(int $levels, bool $replace = false)

Устанавливает уровни ошибок PHP, для которых сохраняются локальные переменные.

Параметры

int $levels Поле битов констант E_* для ошибок, у которых сохраняются локальные переменные
bool $replace Заменить или дополнить предыдущее значение

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

int Предыдущее значение

int traceAt(int $levels, bool $replace = false)

Устанавливает уровни ошибок PHP, для которых сохраняется стек вызовов.

Параметры

int $levels Поле битов констант E_* для отслеживаемых ошибок
bool $replace Заменить или дополнить предыдущее значение

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

int Предыдущее значение

int screamAt(int $levels, bool $replace = false)

Устанавливает уровни ошибок, где оператор @ игнорируется.

Параметры

int $levels Поле битов констант E_* для ошибок, где игнорируется оператор @
bool $replace Заменить или дополнить предыдущее значение

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

int Предыдущее значение

bool handleError(int $type, string $message, string $file, int $line)

Обрабатывает ошибки, фильтруя и регистрируя их в соответствии с настроенными битами.

Параметры

int $type Одна из констант E_*
string $message
string $file
int $line

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

bool Возвращает false, когда обработка не происходит, чтобы движок PHP мог обработать ошибку самостоятельно

Исключения

ErrorException Когда $this->thrownErrors запрашивает это

handleException(Exception|Throwable $exception, array $error = null)

Обрабатывает исключение, регистрирует его, а затем передает его другому обработчику.

Параметры

Exception|Throwable $exception Исключение для обработки
array $error Массив, возвращаемый error_get_last()

static handleFatalError(array $error = null)

Функция, зарегистрированная для обработки фатальных ошибок PHP.

Параметры

array $error Массив, возвращаемый error_get_last()

static stackErrors() deprecated

deprecated

since версия 3.4, будет удалена в 4.0.

Настраивает обработчик ошибок для обработки в отложенном режиме.

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

Как показано в http://bugs.php.net/42098 и http://bugs.php.net/60724, PHP имеет этап компиляции, где он ведёт себя необычно. Чтобы обойти это, мы подключаем обработчик ошибок, который только складирует ошибки для последующей обработки.

Самая важная функция - предотвращение автозагрузки до вызова unstackErrors().

static unstackErrors() deprecated

deprecated

since версия 3.4, будет удалена в 4.0.

Извлекает складированные ошибки и передает их логгеру.

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.4/Symfony/Component/Debug/ErrorHandler.html

Spec-Zone.ru

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