2012-04-18 3 views
0

im 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 /> 

オンライン340これはコードです。 rottentomatoes.phpは、apiからの応答を解析するために使用されるPHPライブラリです。

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

     return $decodedResponse; 

悪い説明のお詫び私は問題の原因となっているコードを見つけるのが難しいです。

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

は次のようになります:コード内

+0

'RottenTomatoes.php'はあなたが書いたスクリプトですか、他の誰かから提供されたスクリプトですか?ライン340の周りは何ですか? 'getResource'が何が間違っているのかについての情報をほとんどつけずに例外をスローしているようですが、そこを見ると例外がどこから発生しているのか、またその理由を明らかにすることができます。 – drew010

+0

ここに340のコードはありますが、このスクリプトはapiで使用するための公開PHPライブラリです – DIM3NSION

+0

したがって、エラー "0"がリモートAPIによって送信されたように見えますが、私は自分のサイトとドキュメント全体を検索し、まったくエラーについて。フォーラムの誰かがエラー596を述べたので、0は何か奇妙なエラーコードでなければならない、私はちょうどそれが何を意味するか、またはどこにドキュメントを見つけるのか分からない。 – drew010

答えて

1

1つの明らかなバグがこのラインということである代わりに+

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

は、文字列を連結するために .があるはずです。その訂正後、例外テキストが正しく表示されるはずです。しかし、本当の問題は、おそらく( if (isset($decodedResponse['error']))のために)サーバーから取得されたエラーか、何らかの理由でデコード/解析が失敗するという例外が最初にスローされる理由です。

しかし、この問題は、あなたが投稿したコードではなく、ライブラリの内部にあるので、なぜ起こっているのかについての答えはありません。

関連する問題