如何阻止php脚本将错误附加到浏览器?

时间:2018-02-07 01:58:30

标签: php email error-handling

我是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}]}

所以我得到实际结果附加的错误。我想知道这怎么可能以及如何避免这种情况?

1 个答案:

答案 0 :(得分:0)

使用try/catch时,如果您希望有时会出现错误,可能会有意义。

如果这对您不起作用,您可以使用the dreaded @确保错误无法显示:

  

PHP支持一个错误控制操作符:at符号(@)。当在PHP中添加表达式之前,将忽略该表达式可能生成的任何错误消息。

例如:

$sent = @$newmailer->sendMail($giftAssocs2 , "Hello", 'xxxx@gmail.com', $mailID);
if($sent) {
    //...

我说它“可怕”的原因是你基本上说“我真的不在乎这是否有用”,而且通常不使用@,而是使用试试/捉。