在 Cakephp 3 中捕获异常:不起作用

2021-12-21 00:00:00 exception php cakephp-3.0 cakephp

我尝试在 Cakephp v3.0 中捕获异常,但它似乎不起作用:

I try to catch exceptions in Cakephp v3.0, but it doesn't seems to work :

    try{
    $email = new Email('default');
    $email->from([Configure::read('email') => Configure::read('emailName')])
        ->to(Configure::read('email'))
        ->bcc($to)
        ->subject(__('XXXX') . ' : ' . __('XXXX'))
        ->template('fail', 'default')
        ->emailFormat('html')
        ->send();
} catch (Exception $ex) {
}

它没有捕获异常:

Could not send email: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() CakeNetworkExceptionSocketException

很烦人,我用它来捕获本地服务器上发送的失败电子邮件.

Pretty annoying, I'm using it to catch fail email send on a local server.

非常感谢.

推荐答案

在这里添加答案,只是为了降低未回答问题的统计数据:

Adding the answer here, just to bring dow the unanswered questions stats down:

您需要使用 Exception 或更具体的命名空间异常名称

You need to use Exception or a more specific, namespaced, exception name

try {
    // code
} catch (Exception $e) {
    // error
}

相关文章