_drupal_error_handler_real($error_level, $message, $filename, $line, $context)
Provides custom PHP error handling.
Parameters
$error_level: The level of the error raised.
$message: The error message.
$filename: The filename that the error was raised in.
$line: The line number the error was raised at.
$context: An array that points to the active symbol table at the point the error occurred.
File
- core/includes/errors.inc, line 60
- Functions for error handling.
Code
function _drupal_error_handler_real($error_level, $message, $filename, $line, $context) { if ($error_level & error_reporting()) { $types = drupal_error_levels(); list($severity_msg, $severity_level) = $types[$error_level]; $backtrace = debug_backtrace(); $caller = Error::getLastCaller($backtrace); // We treat recoverable errors as fatal. $recoverable = $error_level == E_RECOVERABLE_ERROR; // As __toString() methods must not throw exceptions (recoverable errors) // in PHP, we allow them to trigger a fatal error by emitting a user error // using trigger_error(). $to_string = $error_level == E_USER_ERROR && substr($caller['function'], -strlen('__toString()')) == '__toString()'; _drupal_log_error(array( '%type' => isset($types[$error_level]) ? $severity_msg : 'Unknown error', // The standard PHP error handler considers that the error messages // are HTML. We mimick this behavior here. '@message' => Markup::create(Xss::filterAdmin($message)), '%function' => $caller['function'], '%file' => $caller['file'], '%line' => $caller['line'], 'severity_level' => $severity_level, 'backtrace' => $backtrace, '@backtrace_string' => (new \Exception())->getTraceAsString(), ), $recoverable || $to_string); } }
Please login to continue.