PHP和facebook的异常处理

PHP和facebook的异常处理,php,facebook,facebook-graph-api,facebook-fql,facebook-php-sdk,Php,Facebook,Facebook Graph Api,Facebook Fql,Facebook Php Sdk,我有以下代码: $fql = "SELECT first_name, last_name FROM user where uid=me()"; $sparam = array('method' => 'fql.query', 'query' => $fql, 'callback' => '', 'access_token' => $fbtoken); try{ $sfqlResult = $facebook -> api($sparam); } catch(

我有以下代码:

$fql = "SELECT first_name, last_name FROM user where uid=me()";
$sparam = array('method' => 'fql.query', 'query' => $fql, 'callback' => '', 'access_token' => $fbtoken);
try{
    $sfqlResult = $facebook -> api($sparam);
}
catch(CurlException $e) {
    echo 'There is issue with Token';
}
假设如果我的访问令牌出错,我想捕获异常,但它没有捕获异常并显示传统错误

致命错误:未捕获异常:190:无效的OAuth访问令牌。投入

这方面的任何帮助。

您可以使用捕获异常

范例-

try {
  $sfqlResult = $facebook -> api($sparam);
} catch(FacebookApiException $e) {
  $e_type = $e->getType();
  $result = $e->getResult();
  error_log('Got an ' . $e_type . ' while posting');
  error_log(json_encode($result));
}

但据我所知,存在与令牌相关的问题,将不会引发异常,但将在
$sfqlResult
中返回错误结果;您可以检查对象
$sfqlResult->error

if(!isset($sfqlResult['error']))
{
    // no error
}
else
{
    echo "Facebook error: ".$sfqlResult['error']->message;
}

如果其访问令牌相关问题,则不会向我抛出异常。您将在
$sfqlResult
中得到错误响应,它抛出致命错误:未捕获异常:190:无效的OAuth访问令牌。我认为你应该先把注意力集中在错误上。我提到的代码主要负责所有事情。您是否使用正确的应用程序id和应用程序机密正确生成令牌?我知道,但如果令牌错误,请提交一个案例,我的用户将看到什么