Spec-Zone.ru › Symfony 3.2

ErrorHandler

class ErrorHandler

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

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

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

Методы

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()

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

static unstackErrors()

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

Подробности

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

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

Параметры

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

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

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

__construct(БуферизующийЛоггер $bootstrappingLogger = null)

Параметры

БуферизующийЛоггер $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(Исключение|Throwable $exception, array $error = null)

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

Параметры

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

статический handleFatalError(array $error = null)

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

Параметры

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

статический stackErrors()

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

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

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

Наиболее важной функцией является предотвращение автозагрузки до тех пор, пока не будет вызван unstackErrors().

статический unstackErrors()

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

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

Spec-Zone.ru

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