ErrorHandler
class ErrorHandler
Общий обработчик ошибок для движка PHP.
Предоставляет пять битовых полей, которые управляют обработкой ошибок: - thrownErrors: ошибки, выбрасываемые как \ErrorException - loggedErrors: зарегистрированные ошибки, когда не используются @-suppressors - scopedErrors: ошибки, выброшенные или зарегистрированные с их локальным контекстом - tracedErrors: ошибки, зарегистрированные с их стеком вызовов - screamedErrors: ошибки, никогда не подавляемые @-suppressors
Каждый уровень ошибок может регистрироваться отдельным объектом PSR-3 логгера. Режим "Screaming" применяется только к регистрации. Выбрасывание имеет приоритет над регистрацией. Неперехваченные исключения регистрируются как E_ERROR. Уровни E_DEPRECATED и E_USER_DEPRECATED никогда не вызывают исключения. Уровни E_RECOVERABLE_ERROR и E_USER_ERROR всегда вызывают исключение. Неперехватываемые ошибки, которые могут быть обнаружены во время завершения работы, регистрируются, когда активен режим "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. | |
| FatalErrorHandlerInterface[] | getFatalErrorHandlers() Получает обработчики критических ошибок. |
Подробности
static ОбработчикОшибок 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, которые будут выбрасывать исключение при возникновении ошибки 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 | Массив, возвращаемый error_get_last() |
static handleFatalError(array $error = null)
Регистрируемая функция завершения для обработки критических ошибок PHP.
Параметры
| array | $error | Массив, возвращаемый error_get_last() |
protected ИнтерфейсОбработчикаКритическихОшибок[] getFatalErrorHandlers()
Возвращает обработчики критических ошибок.
Переопределите этот метод, если хотите определить больше обработчиков критических ошибок.
Возвращаемое значение
| ИнтерфейсОбработчикаКритическихОшибок[] | Массив интерфейсов FatalErrorHandlerInterface |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Debug/ErrorHandler.html