2024 年日本 PHP 研討會

ErrorException::getSeverity

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ErrorException::getSeverity取得例外嚴重性

說明

final public ErrorException::getSeverity(): int

返回例外的嚴重性。

參數

此函式沒有參數。

回傳值

返回例外的嚴重性層級。

範例

範例 #1 ErrorException::getSeverity() 範例

<?php
try {
throw new
ErrorException("例外訊息", 0, E_USER_ERROR);
} catch(
ErrorException $e) {
echo
"此例外的嚴重程度為: " . $e->getSeverity();
var_dump($e->getSeverity() === E_USER_ERROR);
}
?>

上述範例將輸出類似以下的內容:

This exception severity is: 256
bool(true)

新增註釋

使用者貢獻的註釋 2 則註釋

fgaab
14 年前
嘗試將此作為 error_reporting(...) 的替代方案

<?php
函式 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");
?>
cyjimmy264 at gmail dot com
7 年前
函式 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);
}
To Top