应该每个PHP查询都有一个异常,或者只是一个一般错误,或者两者都没有


Should every PHP query have an exception, or just a general error, or neither

我正在使用数据库进行更新、删除或插入。目前我只是在某些方面犯了一些错误。我应该对我运行的每个数据库查询使用异常,还是只使用一般错误?

让我给你看一下。

异常

$query = $database->prepare("INSERT INTO test(test) VALUES(1)");
$result = $query->execute();
try{
   if(!result): throw new exception(""); else: //success  endif;
}

$query = $database->prepare("INSERT INTO test(test) VALUES(1)");
$result = $query->execute();
if(!$result): return 0; else:  //success  endif;

然后(对于我的MVC,检查该函数是否为==0,然后重定向到错误页面

或者没有错误通知:

$query = $database->prepare("INSERT INTO test(test) VALUES(1)");
$result = $query->execute();

其中哪一个是推荐的,或者如果有,不推荐?

只要出现问题,并且会影响到你认为重要的事情,你就应该对错误采取行动。

这并不总是意味着生成一个错误页面。只有当错误对您网站的访问者产生影响时,您才会这样做。例如,当提交了注册,但无法输入数据库时:

"对不起,我们有技术问题,您的注册可以在时刻,不被接受。包含您详细信息的电子邮件已发送至给我们。我们会很快联系你吗。".

还有其他错误不需要像这样的反馈,但你想知道。例如,当您计算页面的访问频率时。记录日志、发送电子邮件或类似的事情,但不要用错误消息打扰访客。

第二种情况:if(!$result): return false;为了更新数据库,而不是中断代码,了解这一点很重要。错误在开发阶段是有用的。这是一个会发生其他事情的情况。

相关文章: