Spec-Zone.ru › Symfony 3.1

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

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

Подробности

статический 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 Обработчик, который будет вызываться при возникновении исключения Exception

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

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(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 Массив, возвращаемый errorgetlast()

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

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

Параметры

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

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

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

Гарантирует, что фатальные ошибки, не обрабатываемые через catch, никогда не будут заглушены.

Как показано в 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.1/Symfony/Component/Debug/ErrorHandler.html

Spec-Zone.ru

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