Spec-Zone.ru › Symfony 2.7

ErrorHandler

class ErrorHandler

Универсальный обработчик ошибок для движка PHP.

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

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

Константы

TYPE_DEPRECATION

Методы

static ErrorHandler register(ErrorHandler|null|int $handler = null, bool $replace = true)

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

setDefaultLogger(LoggerInterface $logger, array|int $levels = null, bool $replace = false)

Устанавливает логгер для неназначенных уровней ошибок.

array setLoggers(array $loggers)

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

callable|null setExceptionHandler(callable $handler)

Устанавливает пользовательский обработчик исключений.

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

Снимает обработку ошибок из стека и передает их логгеру.

setLevel(int|null $level) устаревший

Устанавливает уровень, на котором выполняется преобразование в Exception.

setDisplayErrors(int $displayErrors) устаревший

Устанавливает значение флага display_errors.

static setLogger(LoggerInterface $logger, string $channel = 'deprecation') устаревший

Устанавливает логгер для данного канала.

handle($level, $message, $file = 'unknown', $line, $context = array()) устаревший
handleFatal() устаревший

Обрабатывает фатальные ошибки PHP.

Подробности

статический ErrorHandler register(ErrorHandler|null|int $handler = null, bool $replace = true)

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

Параметры

ErrorHandler|null|int $handler Обработчик для регистрации или @deprecated (с версии 2.6, будет удалено в 3.0) поле битовой маски выброшенных уровней
bool $replace Заменить или нет существующий обработчик

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

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

setDefaultLogger(LoggerInterface $logger, array|int $levels = null, 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)

Устанавливает пользовательский обработчик исключений.

Параметры

callable $handler Обработчик, который будет вызван при возникновении исключения Exception

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

callable|null Предыдущий обработчик исключений

Исключения

InvalidArgumentException

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

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

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

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

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

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

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

setLevel(int|null $level) устаревший

устаревший

с версии 2.6, будет удалено в 3.0. Используйте throwAt() вместо.

Устанавливает уровень, на котором происходит преобразование в Exception.

Параметры

int|null $level Уровень (null – использовать значение error_reporting(), 0 – отключить)

setDisplayErrors(int $displayErrors) устаревший

устаревший

с версии 2.6, будет удалено в 3.0. Используйте throwAt() вместо.

Устанавливает значение флага display_errors.

Параметры

int $displayErrors Значение флага display_errors

статический setLogger(LoggerInterface $logger, string $channel = 'deprecation') устаревший

устаревший

с версии 2.6, будет удалено в 3.0. Используйте setLoggers() или setDefaultLogger() вместо.

Устанавливает логгер для заданного канала.

Параметры

LoggerInterface $logger Интерфейс логгера
string $channel Канал, связанный с логгером (deprecation, emergency или scream)

handle($level, $message, $file = 'unknown', $line, $context = array()) устаревший

устаревший

с версии 2.6, будет удалено в 3.0. Используйте handleError() вместо.

Параметры

$level
$message
$file
$line
$context

handleFatal() устаревший

устаревший

с версии 2.6, будет удалено в 3.0. Используйте handleFatalError() вместо.

Обрабатывает фатальные ошибки PHP.

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

Spec-Zone.ru

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