trigger_error()上的自定义错误级别

时间:2012-06-19 18:41:31

标签: php error-handling

trigger_error()上使用自定义错误级别是一种好习惯吗?

例如,我可以这样做:

define('E_MY_LEVEL', 3);
...
trigger_error('Hey this error occurs every time!', E_MY_LEVEL);

?考虑到3不是PHP Error level value,因此它不会与其他级别发生冲突。

(我想这样做,这样我就不必创建另一个需要其他代码的函数,而不是我已经在与{{1}关联的error_handler函数中编写的函数。 }}。)

2 个答案:

答案 0 :(得分:1)

很难说这是否是一种好的做法,但确实存在3作为PHP错误级别值 -

error_reporting( E_ERROR | E_WARNING ); // E_ERROR | E_WARNING = 3

还不知道你的trigger()函数是什么,trigger_error需要E_USER范围内的错误级别......也许最好使用E_USER_NOTICE? (1024)

答案 1 :(得分:1)

基本的E_XXX错误代码标志通常基于2的幂,例如1 2 4 8 16 32等。

如果您发现未使用的功率为2,则可以使用该功率。

因为3 = 1 + 2是2的两个幂的总和,所以它计为使用两个标志,E_ERROR | E_WARNING。