什么是PHP中的异常严重性?

时间:2017-09-15 04:13:28

标签: php error-handling

我在PHP documentation

中看到了这段代码
try {
throw new ErrorException("Exception message", 0, E_USER_ERROR);
} catch(ErrorException $e) {
echo "This exception severity is: " . $e->getSeverity();
var_dump($e->getSeverity() === E_USER_ERROR);
}

它还在继续:

This exception severity is: 256
bool(true)

异常严重程度意味着什么,我是否必须使用它?

1 个答案:

答案 0 :(得分:2)

$severity是一个整数,表示抛出的错误的严重性。手册指出它可以是任何整数,但最好使用predefined error constants中的常量。这些与error_reporting使用的相同。

请注意ErrorException扩展Exception,添加$severity参数。这是因为ErrorException通常用于将PHP显示的正常错误转换为Exception。这是通过set_error_handler()完成的。

因此,ErrorException::$severity实际上是PHP错误的严重性,如果您没有将其作为Exception投放,则会显示该错误。您可以根据导致ErrorException的原因,使用它来决定当你抓住{{1}}时要做什么。