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
Настраивает обработчик ошибок для обработки в отложенном режиме.
Обеспечивает также, что необрабатываемые фатальные ошибки никогда не будут подавляться.
Как показано в http://bugs.php.net/42098 и http://bugs.php.net/60724, PHP имеет этап компиляции, где он ведёт себя необычно. Чтобы обойти это, мы подключаем обработчик ошибок, который только складирует ошибки для последующей обработки.
Самая важная функция - предотвращение автозагрузки до вызова unstackErrors().
static unstackErrors() deprecated
deprecated
Извлекает складированные ошибки и передает их логгеру.
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.4/Symfony/Component/Debug/ErrorHandler.html