处理if或else部分的错误?

时间:2014-01-13 01:32:01

标签: php error-handling

我通常不会考虑它,但我只是好奇是否有任何理由在脚本的一个或另一个部分进行此操作?

像:

if(empty($_POST['name'])){
    /*  handle the error  */
} else {
    /*  do something productive  */
}

if(!empty($_POST['name'])){
    /*  do something productive  */
} else {
    /*  handle the error  */
}

就像我现在正在制作的剧本一样; 首先,我需要检查空的必填字段。之后,我需要查看提供的名称是否已存在。然后我需要确保提供至少1种成分(用于配方)。如果那些检查确定;我可以继续确保关系表中的每种成分都可用。最后我可以添加实际配方。之后我可以添加其他相关的东西。

正如您所看到的,我有很多if/else - 语句正在进行中。所以回到我的问题;更好地处理顶部/开头(if)或底部/结尾(else)的错误?

我可能根本没有做错误处理的事情。刚开始考虑try/throw/catch - 陈述。但是真的不知道那些是如何运作的......

2 个答案:

答案 0 :(得分:2)

如其他答案所述,这几乎不重要;但是,理论上有两个因素会影响计算时间:

  • 如果“if”条件为真,则跳过else(如您所知),节省一些计算时间。因此,通过在“if”条件下最常使用您期望的条件,您将获得更快的平均计算速度。

  • 这个更可以忽略不计,但从理论上讲是正确的:“!”是一个操作员,其他操作需要额外的时间;所以,避免不必要地使用“!”是优选的。

答案 1 :(得分:0)

它们在功能上是相同的,但我的首选是您处理错误else的第二个示例。这样做的原因是因为我希望首先出现预期/期望/非错误。我发现它使代码更具可读性;有人跟进你的代码后会更容易弄清楚你想要完成什么。