致命错误在PHP中停止执行

时间:2014-04-02 15:51:47

标签: php facebook exception nullpointerexception facebook-fql

我在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循环应该为所有用户运行。 这可能吗?

1 个答案:

答案 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();
    }
}