什么时候应该使用PHP异常?
发布时间:2020-12-13 16:29:22 所属栏目:PHP教程 来源:网络整理
导读:我看过很多教程,演示简单的尝试捕捉,比如打开文件的行为.但我从未见过一个大的“真实”的例子.有人可以向我提供一些他们有或将会使用例外的情况吗?是否真的需要扩展异常类才能抛出异常?最后,当抛出异常时,是否导致脚本退出(); ?或者,它是否记录并继续执行
我看过很多教程,演示简单的尝试捕捉,比如打开文件的行为.但我从未见过一个大的“真实”的例子.有人可以向我提供一些他们有或将会使用例外的情况吗?是否真的需要扩展异常类才能抛出异常?最后,当抛出异常时,是否导致脚本退出(); ?或者,它是否记录并继续执行脚本?
我们在项目中广泛使用例外.
一个具体的实例是要求用户登录或注册的操作.我们在错误条件下使用异常来进行流量控制.如果当前用户没有登录,我们抛出异常.然后,异常处理程序将它们重定向到登录页面. 以我们的注册操作为例,我们扩展了这样的异常: class RegistrationFailed extends Exception {} 现在在我们的注册代码中的catch语句中,我们可以测试RegistrationFailed异常并相应地处理它.否则,当异常不是RegistrationFailed时,我们允许它冒泡,因为我们不感兴趣. try { // do registration here } catch(RegistrationFailed $e) { // handle the failed registration } catch(SomeOtherException $e) { // handle other errors like this... } // All other errors will not be caught and will bubble up 另一个例子是我们的包装类,开发者必须扩展.我们使用Reflection来确保子类已经正确地实现了他们的方法并提供了正确的界面.如果不是,我们通过例外通知该类的开发人员,让他们知道一个特定的接口或方法必须由子类提供. 编辑: 在程序的正常流程中,由于许多验证规则可能会失败,预期失败的注册,如密码太短. 然而,它是一个ajax应用程序,所以有可能在没有登录的情况下手动访问ajax url.这是一个例外,因此我们处理它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |