Spec-Zone.ru › Symfony 2.8

ErrorHandler

class ErrorHandler

Общий обработчик ошибок для движка PHP.

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

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

Постоянные значения

TYPE_DEPRECATION

Методы

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

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

__construct(BufferingLogger $bootstrappingLogger = null)
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.

Подробности

static Обработчик ошибок register(Обработчик ошибок|null|int $handler = null, bool $replace = true)

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

Параметры

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

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

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

__construct(Буферизующий логгер $bootstrappingLogger = null)

Параметры

Буферизующий логгер $bootstrappingLogger

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

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

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(Исключение|Throwable $exception, array $error = null)

Обрабатывает исключение, регистрируя его, а затем перенаправляя его другому обработчику.

Параметры

Исключение|Throwable $exception Исключение для обработки
array $error Массив, возвращаемый error_get_last()

static handleFatalError(array $error = null)

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

Параметры

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

static stackErrors()

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

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

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

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

static unstackErrors()

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

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

устаревший

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

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

Параметры

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

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

устаревший

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

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

Параметры

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

static 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.8/Symfony/Component/Debug/ErrorHandler.html

Spec-Zone.ru

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