我在PHP中有以下代码
foreach($arr as $u){
//code runs for users
$u->fetchFriends();
}
function fetchFriends(){
$sparam = array('method' => 'fql.query',
'query' => $fql,
'callback' => '',
'access_token' => $fbtoken);
try{
$fqlResult = $facebook -> api($sparam);
}
catch(Exception $e) {
echo 'There is issue with Token';
}
}
问题是如果FB API抛出异常,则进程停止,并且foreach循环中的下一个用户不会被执行。我希望即使它抛出一个错误,foreach循环应该为所有用户运行。 这可能吗?
答案 0 :(得分:0)
您需要使用Facebook Api Exception catch块捕获这些异常:
function fetchFriends(){
$sparam = array('method' => 'fql.query',
'query' => $fql,
'callback' => '',
'access_token' => $fbtoken);
try {
$fqlResult = $facebook -> api($sparam);
} catch (FacebookApiException $e) {//catch FB
echo 'There is an issue with the Token';
} catch(Exception $e) {//catch PHP
echo $e->getMessage().' in '.$e->getFile().' on line '.$e->getLine();
}
}