2012-04-03 10 views
0

私はFacebookのSDKからこの例外を取得しています:それは、このメッセージを出力する前にfacebook sdkからスローされた例外メッセージを捕捉して変更するにはどうすればいいですか?

Fatal error: Uncaught OAuthException: (#506) Duplicate status message thrown in [...] src/base_facebook.php on line 1033 

にはどうすれば例外をキャッチすることができますか? 私はこのような何かにそれを変更したい:

ところで、そこ):

アプリケーションの応答も同じように、我々は再びあなたの壁にそれを公開することはできませんすべての例外を処理するメソッド(下記)です。この新しいメッセージは、その特別な場合にのみ必要です。

protected function throwAPIException($result) { 
    $e = new FacebookApiException($result); 
    switch ($e->getType()) { 
     // OAuth 2.0 Draft 00 style 
     case 'OAuthException': 
     // OAuth 2.0 Draft 10 style 
     case 'invalid_token': 
     $message = $e->getMessage(); 
     if ((strpos($message, 'Error validating access token') !== false) || 
      (strpos($message, 'Invalid OAuth access token') !== false)) { 
     $this->setAccessToken(null); 
     $this->user = 0; 
     $this->clearAllPersistentData(); 
     } 
    } 

    throw $e; 
    } 

ありがとうございます。

答えて

2
あなたは tryブロック内で例外がスローされたコードを配置し、その後 catchブロックでそれをキャッチ

try 
{ 
    // Code goes here 
} 

catch (OAuthException $e) 
{ 
    // Stuff to do with exception 
} 
+0

は確かに、しかし、問題は、すべての例外と処理するメソッドがあるということですメッセージを話している間は、すべての例外について表示されます。 – Bagata

+0

あなたは何を意味するのか分かりません。上記のコードは 'try'ブロック内からスローされた' OAuthException'を捕捉します。それはあなたが望むものではありませんか? – MichaelRushton

+0

「重複ステータスメッセージ」の場合のみを捕捉したい。見える? – Bagata

関連する問題