Laravel 5 - Как вы поймаете ошибку Mail::send()?

У меня есть следующий метод, который отправляет по электронной почте:

Mail::send('emails.configuration_test', array(), function($email)use($request){
    $email->to($request->test_address)->subject('Configuration Test');
});

Если вышеперечисленные ошибки вышли, я бы хотел уловить исключение. Когда я использую следующее:

try{
    Mail::send('emails.configuration_test', array(), function($email)use($request){
        $email->to($request->test_address)->subject('Configuration Test');
    });
}
catch(Exception $e){
    // Never reached
}

исключение никогда не ловится. Вместо этого я получаю стековую трассировку Laravel в качестве ответа, если send() ошибки метода.

Как мне поймать исключение в этом случае?

1 ответ

Решение

Использование корневого пространства имен \Exception сделал трюк.

Вместо:

catch(Exception $e){
    // Never reached
}

Я использовал:

catch(\Exception $e){
    // Get error here
}
Другие вопросы по тегам