0

我在书中练习了一次考试(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()吗?

4

2 回答 2

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);
}
于 2013-10-03T07:08:23.327 回答
2

你以前读过错误处理程序吗?当然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;
?

?>
于 2013-10-03T07:09:48.317 回答