这可能是个问题,但无论如何.可以使用异常进行表单验证吗?假设我有一个表格要求用户提供他们的姓名和电子邮件,是否可以执行以下操作?
try { if (empty($_POST["name"])) { throw new UserRegistrationException("Your name cannot be empty."); } if (filter_var($_POST["email"])) { throw new UserRegistrationException("Invalid email"); } // Save new user into database } catch (UserRegistrationException $e) { // Show errors on screen }
此外 – 如果这是实际的正确方法 – 如果用户同时提交空名称和无效电子邮件,那么两个例外都会执行,还是只执行首先出现的例外(在这种情况下,名称为1)?
我顺便使用PHP.
我个人喜欢使用例外来阻止或改变程序流程.换句话说,如果特定字段的验证改变了数据的处理方式,或者需要重复该过程,那么我总是使用异常来进行错误处理.
如果它是微不足道的,或者我只是编译错误消息列表,那么我不会触发异常.
要回答问题,不能同时抛出两个例外.将抛出第一个throw语句.这并不是说有时将重新抛出作为另一种类型的例外是没有意义的.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。