Как на php5.6 (guzzle5.3) отлавливать Exception?

Я с помощью guzzle отправляю запросы.
Часто мне возвращаются ответы с 403 или 404 кодами.
У меня прописано так
try {
...
} catch (\GuzzleHttp\Exception\RequestException $e) {
...
}


Но периодически вылетает такое:
Exception 'GuzzleHttp\Exception\ConnectException' with message 'cURL error 35: Unknown SSL protocol error in connection to ... '

in .../vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:49


Как мне отлавливать всё исключения Guzzle одним try catch?
  • Вопрос задан
  • 894 просмотра
Решения вопроса 1
@shagguboy
ровно никак. перехват нескольких эксепшенов появился 7.1

криво можно так
catch( Exception $e )
{
    if ($e instanceof \GuzzleHttp\Exception\RequestException OR $e instanceof GuzzleHttp\Exception\ConnectException) {

    } else {
       
        throw $e;
    }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
PostgreSQL DBA
https://github.com/guzzle/guzzle/blob/5.3/src/Exce...
ConnectException extends RequestException

catch (\GuzzleHttp\Exception\RequestException $e) будет ловить оба исключения. Проверяйте код и стектрейс. Возможно вы смотрите не тот catch.
Ответ написан
Комментировать
e_svirsky
@e_svirsky
Web Developer
А в чём проблема отлавливать все исключения вот так:
try {
...
} catch (\Exception $e) {
...
}


Ловите пожалуйста все исключения. И если нужны определенные - можно искать через instanceof как указано в предыдущем ответе...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы