ErrorException::getSeverity
(PHP 5 >= 5.1.0)
ErrorException::getSeverity — Gets the exception severity
Description
final public int ErrorException::getSeverity
( void
)
Returns the severity of the exception.
Parameters
This function has no parameters.
Return Values
Returns the severity level of the exception.
Examples
Example #1 ErrorException::getSeverity() example
<?php
try {
throw new ErrorException("Exception message", 0, 75);
} catch(ErrorException $e) {
echo "This exception severity is: " . $e->getSeverity();
}
?>
The above example will output something similar to:
This exception severity is: 75
Коментарии
Try this as replacement for error_reporting(...)
<?php
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
$severity =
1 * E_ERROR |
1 * E_WARNING |
0 * E_PARSE |
0 * E_NOTICE |
0 * E_CORE_ERROR |
0 * E_CORE_WARNING |
0 * E_COMPILE_ERROR |
0 * E_COMPILE_WARNING |
0 * E_USER_ERROR |
0 * E_USER_WARNING |
0 * E_USER_NOTICE |
0 * E_STRICT |
0 * E_RECOVERABLE_ERROR |
0 * E_DEPRECATED |
0 * E_USER_DEPRECATED;
$ex = new ErrorException($errstr, 0, $errno, $errfile, $errline);
if (($ex->getSeverity() & $severity) != 0) {
throw $ex;
}
}
set_error_handler("exception_error_handler");
?>
function friendly_severity($severity) {
$names = [];
$consts = array_flip(
array_slice(
get_defined_constants(true)['Core'], 0, 15, true));
foreach ($consts as $code => $name) {
if ($severity & $code) $names []= $name;
}
return join(' | ', $names);
}