2013-10-03 3 views
0

Я практикую экзамен в книге (webbot, sspider, sscreen и scrapers), но все прошло неплохо.error_handler() или set_error_handler()

результат :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()?

+0

вы читали о обработчиках ошибок раньше? ofcourse set_error_handler ожидает, что вы предоставите ему функцию, а не строку –

+0

Вы читали http://php.net/manual/en/function.set-error-handler.php – Mchl

ответ

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

спасибо за помощь :) trigger_error - хороший способ – user2492364

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; 
? 

?> 
+0

Благодарим вас за помощь :) вы дадите мне знать Я могу использовать этот echo «BAD RESULT». $ Page ['STATUS'] ['http_code']; – user2492364

Смежные вопросы