【发布时间】:2011-09-07 05:58:36
【问题描述】:
我最近提交了一个使用 CodeIgniter 构建的学校项目。我必须把它展示给我的老师,当被问及我如何处理某些错误时,他告诉我抛出异常以在事件链中更早地拦截事情。
我已经学会了如何抛出异常以及如何使用try...catch 块来捕获和处理它们,但是不知何故,当我开始使用 CodeIgniter 时,我完全忘记了它们并且不再真正使用异常。
相反,我只是“手动”处理了我的错误,因为没有更好的词:我会使用 TRUE 和 FALSE 布尔值来检查,例如,查询是否正确执行,我会使用返回的布尔值来处理查询的结果。如果TRUE,我会继续做我的事情,如果FALSE 我会“手动”抛出一条错误消息。该项目非常依赖 AJAX,错误消息会以一种非常奇特的方式弹出,从页面顶部下拉;不确定当我用throw new Exception 抛出异常时这是否可能?我知道这基本上会在抛出异常时阻止代码执行,所以这不会以某种方式破坏事情吗?
我似乎还记得在某处读过抛出异常并不是最好的做法,但我再也找不到它的来源,我不太确定是否是这种情况;毕竟,我们确实在课堂上学会了如何使用它们,我相信我们在那里学到了最佳实践,哈哈。
如有必要,我可以返回并尝试找到他指出我应该抛出异常的代码段。但是,就目前而言,我只是想知道是否应该在我的代码中使用异常或手动处理事情。这方面的最佳做法是什么?
谢谢。
【问题讨论】:
标签: php exception codeigniter error-handling