异常

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

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

    1. use GuzzleHttp\Exception\RequestException;
    2. try {
    3. $client->request('GET', 'https://github.com/_abc_123_404');
    4. } catch (RequestException $e) {
    5. echo $e->getRequest();
    6. if ($e->hasResponse()) {
    7. echo $e->getResponse();
    8. }
    9. }
  • GuzzleHttp\Exception\ConnectException 异常发生在网络错误时, 该异常继承自 GuzzleHttp\Exception\RequestException

  • 如果 http_errors 请求参数设置成true,在400级别的错误的时候将会抛出 GuzzleHttp\Exception\ClientException 异常, 该异常继承自 GuzzleHttp\Exception\BadResponseException GuzzleHttp\Exception\BadResponseException 继承自 GuzzleHttp\Exception\RequestException

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

  • GuzzleHttp\Exception\TooManyRedirectsException 异常发生在重定向次数过多时, 该异常继承自 GuzzleHttp\Exception\RequestException

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