Php Facebook SDK未捕获异常
我在我的Laravel 5.4应用程序中使用Facebook Graph API SDK(“Facebook/Graph SDK”:“composer中的~5.0”) 我正在尝试从页面获取一些字段,当页面无效时,它会抛出一个错误,但似乎无法正确捕获错误: 代码如下:Php Facebook SDK未捕获异常,php,laravel,facebook,api,sdk,Php,Laravel,Facebook,Api,Sdk,我在我的Laravel 5.4应用程序中使用Facebook Graph API SDK(“Facebook/Graph SDK”:“composer中的~5.0”) 我正在尝试从页面获取一些字段,当页面无效时,它会抛出一个错误,但似乎无法正确捕获错误: 代码如下: use Facebook\Facebook; class FacebookUser extends Controller { try { echo 'Trying ' . $venue->id; $resp
use Facebook\Facebook;
class FacebookUser extends Controller
{
try {
echo 'Trying ' . $venue->id;
$response = $fb->get('/'.$page.'/locations?fields=hours', $access_token);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
}
这并不理想,因为每次遇到以下错误时,它都会停止:
在FacebookResponseException.php第106行中:
(#100)尝试访问节点类型(URL)上不存在的字段(小时)异常很可能命名为
Facebook\Exceptions\Facebook responseexception
因为你有:
use Facebook\Facebook;
即:
use Facebook\Facebook as Facebook;
您最终试图赶上这门课:
Facebook\Facebook\Exceptions\FacebookResponseException
您可能希望调整捕捉
,如下所示:
} catch (\Facebook\Exceptions\FacebookResponseException $e) {
它输出错误消息,然后停止,因为您告诉它…如果您不希望发生这种情况,那么不要使用echo并在catch块内退出,duh。您试图捕获的异常是否命名为
Facebook\Facebook\Exceptions\Facebook responseexception
?因为这就是你想要抓住的atm@CBroe当然-如果它捕捉到了异常,那么是的,这将是一个解决方案。但它没有捕捉到例外。我可以删除该行,但它仍然执行相同的操作。@lagbox我相信是的-输出到控制台的错误来自Facebook responseexception.php?我感觉它是Facebook\Exceptions\Facebook responseexception
notFacebook\Facebook\Exceptions\Facebook responseexception