2012-04-18 54 views
0

即时通讯使用RottenTomatoes Api来获取电影信息。我有一张250张电影的名单,但是我得到了一些信息,但我得到了这个错误。它似乎随机发生。我正在将api结果存入自己的数据库中。会有这样的错误的原因吗?堆栈跟踪中消息'0'的未捕获异常'异常':#0。 PHP插入基于API响应

Fatal error: Uncaught exception 'Exception' with message '0' in /home/ignitet1/public_html/CheckFilm/RottenTomatoes.php:340 
Stack trace: 
#0 /home/ignitet1/public_html/CheckFilm/RottenTomatoes.php(156): RottenTomatoes->getResource('http://api.rott...') 
#1 ****/loadFullData.php(37): RottenTomatoes->getMovieInfo('771269025') 
#2 {main} 
    thrown in ****RottenTomatoes.php</b> on line <b>340</b><br /> 

on line 340这是代码。 rottentomatoes.php是一个php库,用于解析来自api的响应。

if (isset($decodedResponse['error'])) 
      throw new Exception('API Error: ' + $decodedResponse['error']); 

     return $decodedResponse; 

道歉为穷人的解释我无法找到导致问题的代码。在代码

+0

RottenTomatoes.php是您编写或由其他人提供的脚本吗? 340线附近是什么?看起来'getResource'正在抛出一个异常,并且很少有关于出错的信息,但是在那里查看可能会发现异常来自哪里以及为什么。 – drew010 2012-04-18 16:46:42

+0

以下是340上的代码,该脚本是一个公共php库,可用于api – DIM3NSION 2012-04-18 16:49:44

+0

因此,看起来错误“0”是由远程API发送的,但我在他们的网站和文档中搜索了所有内容,发现没有页面可以聊天关于错误。有人在论坛上提到错误596,所以0必须是一些奇怪的错误代码,我只是不知道它是什么意思或在哪里找到文档。 – drew010 2012-04-18 16:55:18

回答

1

一个明显的错误是,这条线:

throw new Exception('API Error: ' + $decodedResponse['error']); 

应该是:

throw new Exception('API Error: ' . $decodedResponse['error']); 

取而代之的是+的,应该有一个.用于连接字符串。在更正之后,您应该正确地看到例外文本。然而真正的问题是为什么首先抛出异常,这可能是由于从服务器检索到错误(由于if (isset($decodedResponse['error']))),或者由于某种原因解码/解析失败。

但是,没有答案为什么会发生这种情况,因为问题出现在库中,而不是您发布的代码中。

相关问题