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?
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.
Using the root namespace \Exception
did the trick.
Instead of:
catch(Exception $e){ // Never reached }
I used:
catch(\Exception $e){ // Get error here }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With