@kirill-93

Как в Laravel продублировать exception?

try {
    User::create(['email' => $email]);
} catch (\Exception $e) {
    if ((int)$e->getCode() === 23000 && $e instanceof QueryException) {
        //Тут я обрабатываю создание дубликата
    } else {
        //Тут может произойти всё что угодно, нужно просто выбросить существующий эксепшн
    }
}

У меня есть некий код, который может вызвать исключения. Как мне поймать и обработать только одно исключение, а все остальные не обрабатывать?

В коде выше, я мог бы ловить именно QueryException в блоке catch, но если там код не 23000, а что-то другое, то у меня нет обработчика на этот случай.
Как быть?
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
try {
    User::create(['email' => $email]);
} catch (\Exception $e) {
    if ($e->getCode() == 23000 && $e instanceof QueryException) {
        //Тут я обрабатываю создание дубликата
    } else {
        throw $e;
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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