error_handler()或set_error_handler()

时间:2013-10-03 07:05:43

标签: php function

我在书中练习考试(webbot,sspider,sscreen和scrapers),但考试不顺利。

结果为:Warning: set_error_handler() expects the argument (BAD RESULT0) to be a valid callback

<?php
    include("LIB/LIB_http.php");
    $page = http_get($target="http://123blablabla",$ref="");
    if($page['STATUS']['http_code']!="200")
        set_error_handler("BAD RESULT".$page['STATUS']['http_code']);
?>

有人可以帮助我如何使用 error_handler() set_error_handler()

2 个答案:

答案 0 :(得分:5)

没有error_handler功能。 set_error_handler函数用于设置一个函数/类,它将在错误发生时处理错误。

您似乎正在寻找trigger_error功能

if($page['STATUS']['http_code']!="200") {
    trigger_error("BAD RESULT".$page['STATUS']['http_code'], E_USER_ERROR);
}

答案 1 :(得分:2)

您之前是否阅读过错误处理程序? ofcourse set_error_handler希望你提供一个函数,而不是字符串。虽然错误处理函数没有在if块内有条件地使用,但对于您的代码,它将类似于:

<?php
include("LIB/LIB_http.php");
$page = http_get($target="http://123blablabla",$ref="");
if($page['STATUS']['http_code']!="200")
    set_error_handler("yourErrorHandler");

function yourErrorHandler()
{
   echo "BAD RESULT;
?

?>