ErrorHandling php

我写了一个错误处理程序来处理不同类型的错误(甚至解析错误等)。

题:

正如我现在可以检测到一个errortype(常量),有必要确定哪些错误我应该允许或不允许,并在这种情况下轻轻关机。 如果我看看http://www.php.net/manual/en/errorfunc.constants.php,我会看到不同类型的错误的所有不同的常量。

问题是:

1)这些常量之间是否存在某种错误处理关系。 让我说超过一个水平,我知道我不想打印在我的屏幕上的错误等? 或者我必须手动设置每个错误常量(似乎是这样)?

2)如何在不使用trigger_error()或user_error()的情况下挑起屏幕示例中的每个错误? 有什么样的列表来产生这些错误,哪些是我可以用代码生成的?

欢呼并感谢很多答案。


您可以像这样将所有通知,警告和错误常量分组在一起:

notice : 8 + 1024 + 2048 + 8192 + 16384 = 27656 0x6c08
warning: 2 + 32 + 128 + 512             = 674   0x2a2
error  : 1 + 16 + 64 + 256 + 4096       = 4433  0x1151

您也可以通过显式使用常量名称来添加它们,例如E_ERROR等。

所以:

$is_notice  = $code & 0x6c08 != 0;
$is_warning = $code & 0x2a2 != 0;
$is_error = $code & 0x1151 != 0;

至于你的第二个问题,你是否在寻找能够触发上述不同层次的代码?

$f = fopen($a, 'r'); // notice + warning
$f->read(); // error

include 'script_with_parse_error.php'; // e_parse

function test(Iterator $i) { }
test(123); // e_recoverable_error

function modify(&$i) { ++$i; }
modify(123); // e_strict

$x = split(',', ''); // e_deprecated

E_USER事件当然只能用trigger_error()生成。

链接地址: http://www.djcxy.com/p/58925.html

上一篇: ErrorHandling php

下一篇: Disable php functions within htaccess