异常

请求传输过程中出现的错误Guzzle将会抛出异常。

  • 在发送网络错误(连接超时、DNS错误等)时,将会抛出 GuzzleHttp\Exception\RequestException 异常。 该异常继承自 GuzzleHttp\Exception\TransferException ,捕获这个异常可以在传输请求过程中抛出异常。

``` 1. use GuzzleHttp\Exception\RequestException;

  1. try {
  2. $client->request('GET', 'https://github.com/_abc_123_404');
  3. } catch (RequestException $e) {
  4. echo $e->getRequest();
  5. if ($e->hasResponse()) {
  6. echo $e->getResponse();
  7. }
  8. } ```
  9. GuzzleHttp\Exception\ConnectException 异常发生在网络错误时, 该异常继承自 GuzzleHttp\Exception\RequestException 。
  10. 如果 http_errors 请求参数设置成true,在400级别的错误的时候将会抛出 GuzzleHttp\Exception\ClientException 异常, 该异常继承自 GuzzleHttp\Exception\BadResponseException GuzzleHttp\Exception\BadResponseException 继承自 GuzzleHttp\Exception\RequestException 。

``` 1. use GuzzleHttp\Exception\ClientException;

  1. try {
  2. $client->request('GET', 'https://github.com/_abc_123_404');
  3. } catch (ClientException $e) {
  4. echo $e->getRequest();
  5. echo $e->getResponse();
  6. } ```
  7. 如果 http_errors 请求参数设置成true,在500级别的错误的时候将会抛出 GuzzleHttp\Exception\ServerException 异常。 该异常继承自 GuzzleHttp\Exception\BadResponseException 。
  8. GuzzleHttp\Exception\TooManyRedirectsException 异常发生在重定向次数过多时, 该异常继承自 GuzzleHttp\Exception\RequestException 。

上述所有异常均继承自 GuzzleHttp\Exception\TransferException 。