Try / catch не работает в моей функции Laravel

Я пытаюсь обработать ошибки, потому что я хочу перенаправить пользователя, если переменная $ apimodel равна нулю или другие ошибки. Как ошибки аутентификации с API и многое другое. Вот мой код:

$integration = Integration::where('name', 'lightspeed')->first();

$apimodel = Apimodel::where('user_id', Auth::user()->id)
->where('integration_id', $integration->id)
->where('active', true)
->first();

try {
$api = new WebshopappApiClient(
$apimodel->data01,
$apimodel->api_key,
$apimodel->api_secret,
$apimodel->data02);
} catch (ErrorException $e) {
die($e->getMessage());
}

return view('integrations.lightspeed.index', compact('api'));

-1

Решение

Похоже, вы не используете правильное пространство имен для исключения, которое хотите перехватить. Как все, что вы хотите die() Я предлагаю вам просто поймать \Exception Вместо

 } catch (\Exception $e) {
...
0

Другие решения

Вы не должны (и не можете) ловить исключения Whoops, так как они автоматически выбрасываются потом в жизненном цикле запроса, когда возникает исходное исключение.

\Whoops\Exception\ErrorException расширяет PHP \ErrorExceptionэто тот, который выкинул WebshopappApiClient, и тот, который вы должны поймать. Может быть, даже самый широкий \Exceptionв зависимости от вашего варианта использования.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector