【发布时间】:2014-10-12 06:01:31
【问题描述】:
我不确定为什么我没有在我的控制器中捕获来自 Swiftmailer 的异常。我做错了什么或错过了什么?
在我的控制器中:
try {
$this->get('mailer')->send($email);
}
catch (\Swift_TransportException $e) {
$result = array(
false,
'There was a problem sending email: ' . $e->getMessage()
);
}
它似乎在到达我的代码之前就被 Symfony 捕获了,所以我不能自己处理错误,而是得到标准的 500 页面
Swift_TransportException: Connection could not be established
如果无法发送电子邮件,则无需停止应用程序,因为电子邮件并不重要 - 我只想发出通知。
也许有一种方法可以禁用 Symfonys 对某些异常或某些控制器的捕获?
【问题讨论】:
-
我认为您可以通过覆盖 Twig 异常处理程序来做到这一点。不过,我不是 100% 确定。请参阅下面的答案。
标签: symfony swiftmailer