我正在尝试在发送电子邮件时捕获异常,但是Laravel不会这样做。我读到Laravel会将所有警告和错误都转换为ErrorException,但对于我来说似乎不起作用。
$transportExchange = new SmtpTransport($myHost, 25, 'tls');
$transportExchange->setUsername('...');
$transportExchange->setPassword('...');
$configExchange = new Swift_Mailer($transportExchange);
try {
Mail::setSwiftMailer($configExchange);
Mail::to($email['to'])->send(new GeneralEmail($email));
} catch (ErrorException $ex) {
do_something();
}
密码不正确时,出现Laravel错误屏幕,其中显示stream_socket_enable_crypto():SSL操作失败,代码为1。OpenSSL错误消息:error:1416F086:SSL例程:tls_process_server_certificate:证书验证失败
但是,我想获得的不是do_something()语句。
答案 0 :(得分:0)
三天后,我在这里找到了答案:Why does `catch (Exception $e)` not handle this `ErrorException`?
这是我需要做的:
try {
static::$function_name($url);
} catch (\Exception $e) {}