我想以某种方式捕获通常在浏览器中显示的“执行异常”。我只是不喜欢这样的事实:我必须手动验证数据,而这些数据似乎是由 Play 验证的。
例如,我想捕获如下异常。
[IllegalStateException: Error(s) binding form: {"email":["Valid email required"]}]
在我的示例中,它出现在 User user = Form.form(User.class).bindFromRequest().get();
之后。
最佳答案
IllegalStateException
是运行时异常,不应被捕获。
将您的代码替换为:
Form<User> userForm = Form.form(User.class).bindFromRequest();
if(userForm.hasErrors()) {
return badRequest();
} else {
User user = userForm.get();
// whatever
return ok();
}
关于java - Java Play Framework 中是否可以捕获 'Execution exception'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31184041/