public function ErrorHandler::handle

Throws

ContextErrorException When error_reporting returns error

File

drupal/core/vendor/symfony/debug/Symfony/Component/Debug/ErrorHandler.php, line 95

Class

ErrorHandler
ErrorHandler.

Namespace

Symfony\Component\Debug

Code

public function handle($level, $message, $file = 'unknown', $line = 0, $context = array()) {
  if (0 === $this->level) {
    return false;
  }
  if ($level & (E_USER_DEPRECATED | E_DEPRECATED)) {
    if (isset(self::$loggers['deprecation'])) {
      if (version_compare(PHP_VERSION, '5.4', '<')) {
        $stack = array_map(function ($row) {
          unset($row['args']);
          return $row;
        }, array_slice(debug_backtrace(false), 0, 10));
      }
      else {
        $stack = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 10);
      }
      self::$loggers['deprecation']
        ->warning($message, array(
        'type' => self::TYPE_DEPRECATION,
        'stack' => $stack,
      ));
    }
    return true;
  }
  if ($this->displayErrors && error_reporting() & $level && $this->level & $level) {
    throw new ContextErrorException(sprintf('%s: %s in %s line %d', isset($this->levels[$level]) ? $this->levels[$level] : $level, $message, $file, $line), 0, $level, $file, $line, $context);
  }
  return false;
}