Nie jestem pewien, dlaczego nie łapię wyjątków od Swiftmailer w moim kontrolerze. Co robię źle, czy nie?Catch wyjątek swiftmailer w kontrolerze Symfony2 dev env
W kontrolerze mam:
try {
$this->get('mailer')->send($email);
}
catch (\Swift_TransportException $e) {
$result = array(
false,
'There was a problem sending email: ' . $e->getMessage()
);
}
Wydaje złapany przez Symfony zanim dotrze do mojego kodu, więc zamiast być w stanie obsłużyć błąd ja dostaję standardowy 500 strony z Swift_TransportException: Connection could not be established
Jeśli nie można wysłać wiadomości e-mail, nie ma potrzeby zatrzymywania aplikacji, ponieważ wiadomość e-mail nie jest krytyczna - chcę tylko wydać powiadomienie.
Może istnieje sposób na wyłączenie Symfony wychwytujących określone wyjątki lub niektórych kontrolerów?
Myślę, że możesz być w stanie to zrobić, zastępując obsługę wyjątku Twig. Nie jestem jednak w 100% pewny. Zobacz moją odpowiedź poniżej. – codecowboy