fed*_*o-t 6 php validation exception-handling exception
这可能是个问题,但无论如何.可以使用异常进行表单验证吗?假设我有一个表格要求用户提供他们的姓名和电子邮件,是否可以执行以下操作?
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
}
Run Code Online (Sandbox Code Playgroud)
另外-如果这其实就是如果用户提交做它-正确的方法都空名称和无效的电子邮件,将两个例外的执行或仅是第一个(名字一个在这种情况下)出现在一个?
我顺便使用PHP.
我个人喜欢对任何应该停止或改变程序流程的事情使用异常。换句话说,如果特定字段的验证改变了数据的处理方式,或者需要重复该过程,那么我总是使用异常进行错误处理。
如果它很简单,或者我只是编译错误消息列表,那么我不会触发异常。
回答问题,不能同时抛出两个异常。到达的第一个 throw 语句将被抛出。这并不是说有时作为另一种类型的异常重新抛出没有意义。