Я стремлюсь переносить логику из контроллеров в сервисы или екшны, а в контроллерах принимать запрос и отдавать ответ. Но есть случаи, когда необходимо работать с внешними api. Например:
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://site.com/api...');
// ... логика
Но внешний api сервис может быть недоступным. Поэтому, необходимо использовать try catch.
try {
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://site.com/api...');
} catch (RequestException $ex) {
// выброс ошибки $ex
}
Где правильно выполнять проверку try catch в контроллере или в сервисе если логика одного метода может иметь несколько обращений к api?