ОбработчикОшибок
класс 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 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, которые вызывают исключение при возникновении ошибки 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() |
static handleFatalError(array $error = null)
Зарегистрированная функция завершения для обработки фатальных ошибок PHP.
Параметры
| array | $error | Массив, возвращаемый errorgetlast() |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/Debug/ErrorHandler.html