Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Laravel 5 - How Do You Catch an Mail::send() Error?

I have the following method which sends out an e-mail:

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

If the above errors out, I'd like to be able to catch the exception. When I use the following:

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

the exception is never caught. Instead I get a Laravel stacktrace as the response if the send() method errors out.

How do I catch the exception in this case?

like image 490
Lloyd Banks Avatar asked Jan 06 '17 20:01

Lloyd Banks


People also ask

How do I get exception error in Laravel?

In Laravel 5 you can catch exceptions by editing the render method in app/Exceptions/Handler. php . This will be applied to ANY exception in AJAX requests. If your app is sending out an exception of App\Exceptions\MyOwnException , you check for that instance instead.


1 Answers

Using the root namespace \Exception did the trick.

Instead of:

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

I used:

catch(\Exception $e){     // Get error here } 
like image 122
Lloyd Banks Avatar answered Sep 21 '22 13:09

Lloyd Banks