php guzzle -- Как отключить выбрасыване Excepion-ов
Primary tabs
Guzzle - библиотека для отправки HTTP-запросов в php. Как установить и начать работать можно посмотреть здесь.
Отключить выбрасыване Excepion-ов
Можно путём добавления опции exceptions в массив $options:
$getQuestions = $client->get("/questions", [ 'headers' => [], // здесь можно передать заголовки 'json' => [], // здесь можно передать тело запроса 'exceptions' =>false // эта опция отключит автоматическое выбрасывание исключений guzzle-ом ]);
Или можно прямо при создании объекта $client, если эта опция универсальна для вашего проекта:
- Для Guzzle 3
$client = new \Guzzle\Http\Client($httpBase, array( 'request.options' => array( 'exceptions' => false, ) ));
- Для Guzzle 5.3
$client = new \GuzzleHttp\Client(['defaults' => [ 'exceptions' => false ]] );
- Для Guzzle 6
$client = new \GuzzleHttp\Client(['http_errors' => false]);
Для чего это нужно?
Если Вы самостоятельно обрабатываете ошибки, всю необходимую информацию Вы можете получить из ответа, который будет помещён в переменную $getQuestions. При стандартном поведении Guzzle это сделать невозможно, т.к. скрипт умирает на стадии запроса $client->get(). Чтобы добраться до объекта Response, придётся отключить выбрасывание исключений по умолчанию.
Или можно ловить Exception, выбрасываемый Guzzle-ом. Как это сделать, читайте в официальной документации.
Источники
- Log in to post comments
- 5845 reads
vedro-compota
Mon, 03/26/2018 - 14:37
Permalink
вообще-то надо сделать так
вообще-то надо сделать так чтобы исключения не появлялись, или перехватывать их.
_____________
матфак вгу и остальная классика =)
melisa
Tue, 03/27/2018 - 12:46
Permalink
прочитайте внимательнее
об этом и говорит данная статья