0

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

例如,我可以这样做:

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

? 考虑到 3 不是PHP 错误级别值,因此它不会与其他级别发生冲突。

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

4

2 回答 2

1

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

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

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

于 2012-06-19T19:40:46.303 回答
1

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

如果您发现未使用的 2 次方,则可以使用该次方。

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

于 2012-12-19T09:51:26.523 回答