0 Comments

怎样看PHP的异常

发布于:2012-12-27  |   作者:广州网站建设  |   已聚集:人围观

       PHP中的异常机制是不足的,绝大多数情况下无法自动抛出异常,必须用if…else先进行判断,再手动抛出异常。手动抛异常的意义不是很大,因为这意味着在代码里已经充分预期到错误的出现,也就算不上真正的“异常”,而是意料之中。同时,这种方式还会使你陷入纷繁复杂的业务逻辑判断和处理中。

           Java语言做得比较好的就是定义了一堆内置的常见异常,不需要程序员判断各种异常情况后再手动抛出,编译器会代我们进行判断业务是否发生错误,若发生了,则自动抛出异常。作为程序员,只需要关心异常的捕获和随后补救,而不是像PHP那样关注到底会发生哪些异常,用if…else逐一判断,逐一抛出异常。

          有没有什么机制使得PHP可以自动抛出异常呢?有,那就是结合PHP中的错误处理主动抛出异常。

           使用异常能一定程度上会降低耦合性,但是也不能滥用。滥用异常的后果就是很可能导致代码被多处挂起,流程变得更复杂,难于理解。但是可以肯定,异常在PHP里有很大的价值,越复杂的应用,越需要合理考虑使用异常。

         提示 需要提醒读者关注,SPL里定义了一大堆exception,如BadMethodCallException、LogicException等,同时这些异常之间还存在层级关系。这些异常只是一个空壳,什么方法都没有,需要自己填充。它们实际上起到一个命名参考的作用。

标签:
飞机