2017-05-31 10 views
0

Guzzle経由で投稿を送信していて、一部の製品がInvalidArgumentExceptionエラーを返していますが、このデータを取得するにはどうすればよいですか?残念なことにドキュメンテーションにはこれについては何もありません。GuzzleでInvalidArgumentExceptionを取得するにはどうすればよいですか?

これはエラー

InvalidArgumentException in functions.php line 324: 
json_encode error: Malformed UTF-8 characters, possibly incorrectly encoded 

私のキャッチです:

catch (ClientException $e) { 

       if ($e->hasResponse()) { 
        $resposta = Psr7\str($e->getResponse()); 
        $incrementer->cron_value = $incrementer->cron_value + 1; 
        $incrementer->save(); 
        return view('home'); 
       } 
      } 
      catch (RequestException $e) { 
       return view('home'); 
       if ($e->hasResponse()) { 
        $incrementer->cron_value = $incrementer->cron_value + 1; 
        $incrementer->save(); 
        return view('home'); 
       } 
      } 
+0

try ..catchブロックでリクエストを送信してください。たとえば、try {//あなたのguzzアクション} catch(Exception $ e){echo $ e-> getMessage(); } ' –

+0

はい、try catchを使用しましたが、Guzzleのドキュメントでこの種のエラーを取得する方法はありませんでした。たとえば、ClientExceptionとRequestExceptionを使用しましたが、エラーがInvalidArgumentExceptionであるため、try catchキャッシングを通過しません。 –

+0

すべての例外が正しく実行されると、すべての例外がキャッチされます。あなたに 'try' /' catch 'を表示してください。 – ceejayoz

答えて

1

あなたはがつがつ食うのコードで見ることができるように、このライン上の(ルート名前空間からの)一般的な例外があります。

if (JSON_ERROR_NONE !== json_last_error()) { 
    throw new \InvalidArgumentException(
     'json_encode error: ' . json_last_error_msg()); 
} 

他の例外に加えて、それをキャッチする必要があります。

+0

パーフェクト!ありがとうございました! –

関連する問題