CakeEmail如何在堆栈跟踪之前确定故障?

时间:2012-12-27 10:26:45

标签: php cakephp cakephp-2.0

我试图抓住电子邮件失败的时间,以便我可以将所需的数据保存在我的数据库中,我可以尝试在以后发送。

我认为以下内容应该与使用save()

时一样
        if ( $email->send() ) {
            //..success - works..
        } else {
            //..fail - never gets here, stack trace
        }

http://i.imgur.com/xY8rq.png

1 个答案:

答案 0 :(得分:2)

显然你没有处于调试模式。 如果你是,你会发现这实际上会引发异常。

并且你正在那里捕捉,只是没有引发异常:)

试试这个:

try {
    $success = $email->send();
    ...
} catch (SocketException $e) { // Exception would be too generic, so use SocketException here
    $errorMessage = $e->getMessage();
    ...
}

这样你就可以捕捉异常,并在这里做。