如何使用Guzzle获取InvalidArgumentException?

时间:2017-05-31 16:45:38

标签: json laravel rest guzzle

我正在通过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');
              }
          }

1 个答案:

答案 0 :(得分:1)

正如您在Guzzle的代码中所看到的,此行上有一个常见的异常(来自根命名空间)。

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

除了其他例外,你必须抓住它。

try {
    //...
} catch (ClientException $e) {
    // ...
} catch (RequestException $e) {
    // ...
} catch (\InvalidArgumentException $e) {
    // Your UTF error.
}