我是PHP的新手。如果问题非常明显,请原谅。这是我的代码 -
$giftAssocs2 = UserGiftAssoc::getUserGiftAssocs($userid);
$newmailer = new MAIL_CLASS;
$newmailer->sendMail($giftAssocs2 , "Hello", 'xxxx@gmail.com', $mailID);
return $giftAssocs2;
第一行能够正确获取详细信息。但是由于某些与smtp主机相关的错误,邮件不会发送。来自java背景,我希望在控制台中看到一些错误,因为我没有处理异常。但是我的结果是这样的 -
SMTP - >错误:无法连接到服务器:(0) SMTP错误:无法连接到SMTP主机。 { “状态”: “真”, “msg” 中: “成功”, “详细信息”:[{XXX}]}
所以我得到实际结果附加的错误。我想知道这怎么可能以及如何避免这种情况?
答案 0 :(得分:0)
使用try/catch时,如果您希望有时会出现错误,可能会有意义。
如果这对您不起作用,您可以使用the dreaded @
确保错误无法显示:
PHP支持一个错误控制操作符:at符号(@)。当在PHP中添加表达式之前,将忽略该表达式可能生成的任何错误消息。
例如:
$sent = @$newmailer->sendMail($giftAssocs2 , "Hello", 'xxxx@gmail.com', $mailID);
if($sent) {
//...
我说它“可怕”的原因是你基本上说“我真的不在乎这是否有用”,而且通常不使用@
,而是使用试试/捉。