2013-10-03 51 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_han dler()

+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

你之前讀到的錯誤處理?當然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

相關問題