web-dev-qa-db-fra.com

Laravel 5 - Comment attraper une erreur Mail :: send ()?

J'ai la méthode suivante qui envoie un e-mail:

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

Si les erreurs ci-dessus disparaissent, j'aimerais pouvoir attraper l'exception. Lorsque j'utilise ce qui suit:

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

l'exception n'est jamais interceptée. Au lieu de cela, j'obtiens un Laravel stacktrace comme réponse si la méthode send() fait une erreur.

Comment puis-je intercepter l'exception dans ce cas?

17
Lloyd Banks

Utilisation de l'espace de noms racine \Exception a fait l'affaire.

Au lieu de:

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

J'ai utilisé:

catch(\Exception $e){
    // Get error here
}
37
Lloyd Banks