请不要滥用异常
2013-07-24 17:13
597 查看
Exception
PHP的异常机制的功能非常强大,并且是可以跨作用域的传递丰富的信息,但它强大的功能很容易让我们滥用它。
比如在用户检查登录时,如果密码不正确,你可能会在模型中抛出一个异常,在控制器处理它。对于程序员,这样做会很舒服,因为你不再费心思考虑心如何构建返回值和制定返回规范,也不必关心密码错误之后的代码。
可是,异常不是免费的,并且它价值不菲。PHP在使用异常时会初始化许多机制,包括异常对象的实例化、代码块的回溯等等,如果开启日志,它的开销将会变得更大。所以,我们不能在程序中过分的使用异常。在上面的例子中,我还是建议使用简单的返回值来标识登录检查的结果。如果在类似的业务逻辑中大量的使用异常机制来简化逻辑的处理,无疑会大幅度地降低程序的性能。
所以,请不要滥用异常。
PHP的异常机制的功能非常强大,并且是可以跨作用域的传递丰富的信息,但它强大的功能很容易让我们滥用它。
比如在用户检查登录时,如果密码不正确,你可能会在模型中抛出一个异常,在控制器处理它。对于程序员,这样做会很舒服,因为你不再费心思考虑心如何构建返回值和制定返回规范,也不必关心密码错误之后的代码。
可是,异常不是免费的,并且它价值不菲。PHP在使用异常时会初始化许多机制,包括异常对象的实例化、代码块的回溯等等,如果开启日志,它的开销将会变得更大。所以,我们不能在程序中过分的使用异常。在上面的例子中,我还是建议使用简单的返回值来标识登录检查的结果。如果在类似的业务逻辑中大量的使用异常机制来简化逻辑的处理,无疑会大幅度地降低程序的性能。
所以,请不要滥用异常。
相关文章推荐
- 请不要滥用SharedPreference
- java异常处理:finally中不要return
- 不要滥用递归
- 请不要滥用web service!
- .find()选择器、不要滥用$(this)
- 不要滥用div,保持代码的整洁-----Coding Clean and Semantic Templates
- 请不要滥用设计模式——SingleTon篇
- 单例模式虽好但请不要滥用
- 不要滥用SharedPreference
- 请不要滥用SharedPreference
- 切记,不要忽略异常
- 读书笔记 effective c++ Item 8 不要让异常(exceptions)离开析构函数
- Effective Java学习笔记 第65条:不要忽略异常
- 【BF609调试】printf不要滥用,尤其调试时
- Linq TO SQL 虽好,但不要滥用
- 不要滥用继承
- 宏的妙用(但不要滥用)
- 不要滥用Mock
- 请不要滥用SharedPreference
- 不要滥用div,保持代码的整洁