Spec-Zone.ru › Symfony 3.0

ErrorHandler

class ErrorHandler

Общий обработчик ошибок для движка PHP.

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

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

Методы

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

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

__construct(BufferingLogger $bootstrappingLogger = null)
setDefaultLogger(LoggerInterface $logger, array|int $levels = null, 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($type, $message, $file, $line, array $context, array $backtrace = null)

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

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

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

static handleFatalError(array $error = null)

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

static stackErrors()

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

static unstackErrors()

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

Подробности

static Обработчик ошибок register(Обработчик ошибок $handler = null, bool $replace = true)

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

Параметры

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

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

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

__construct(Буферизованный логгер $bootstrappingLogger = null)

Параметры

Буферизованный логгер $bootstrappingLogger

setDefaultLogger(LoggerInterface $logger, array|int $levels = null, 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, которые выбрасывают исключение при возникновении ошибки 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($type, $message, $file, $line, array $context, array $backtrace = null)

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

Параметры

$type
$message
$file
$line
array $context
array $backtrace

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

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

Исключения

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

handleException(Исключение|Throwable $exception, array $error = null)

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

Параметры

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

static handleFatalError(array $error = null)

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

Параметры

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

static stackErrors()

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

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

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

Самая важная функция — предотвратить автозагрузку до тех пор, пока не будет вызван unstackErrors().

static unstackErrors()

Выгружает стопки ошибок и передает их логгеру.

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

Spec-Zone.ru

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