2017-09-15 37 views
4

我看到這個代碼在PHP documentation什麼是異常嚴重的PHP?

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) 

什麼異常的嚴重性意味着,和我必須在所有使用它呢?

回答

2

$severity是表示,那麼,所述錯誤的嚴重性拋出的整數。該手冊指出,它可以是任何整數,但它是優選使用恆定從predefined error constants。這些與error_reporting使用的相同。

請注意,ErrorException延伸了Exception,加入了$severity參數。這是因爲ErrorException通常用於正常的PHP錯誤顯示轉換爲Exception秒。這通過set_error_handler()完成。

因此,ErrorException::$severity實際上是嚴重程度的PHP錯誤,如果您沒有將其作爲Exception拋出,則會顯示該錯誤。你可以用它來決定做什麼,當你發現一個ErrorException取決於什麼原因造成的。