_drupal_error_handler
- Versions
- 7
_drupal_error_handler($error_level, $message, $filename, $line, $context)
Custom PHP error handler.
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.
Code
includes/common.inc, line 1051
<?php
function _drupal_error_handler($error_level, $message, $filename, $line, $context) {
if ($error_level & error_reporting()) {
// All these constants are documented at http://php.net/manual/en/errorfunc.constants.php
$types = array(
E_ERROR => 'Error',
E_WARNING => 'Warning',
E_PARSE => 'Parse error',
E_NOTICE => 'Notice',
E_CORE_ERROR => 'Core error',
E_CORE_WARNING => 'Core warning',
E_COMPILE_ERROR => 'Compile error',
E_COMPILE_WARNING => 'Compile warning',
E_USER_ERROR => 'User error',
E_USER_WARNING => 'User warning',
E_USER_NOTICE => 'User notice',
E_STRICT => 'Strict warning',
E_RECOVERABLE_ERROR => 'Recoverable fatal error'
);
// E_DEPRECATED and E_USER_DEPRECATED were added in PHP 5.3.0.
if (defined('E_DEPRECATED')) {
$types[E_DEPRECATED] = 'Deprecated function';
$types[E_USER_DEPRECATED] = 'User deprecated function';
}
$caller = _drupal_get_last_caller(debug_backtrace());
// We treat recoverable errors as fatal.
_drupal_log_error(array(
'%type' => isset($types[$error_level]) ? $types[$error_level] : 'Unknown error',
'%message' => $message,
'%function' => $caller['function'],
'%file' => $caller['file'],
'%line' => $caller['line'],
), $error_level == E_RECOVERABLE_ERROR);
}
}
?>Login or register to post comments 