java - Java Play Framework 中是否可以捕获 'Execution exception'?

标签 java playframework playframework-2.0

我想以某种方式捕获通常在浏览器中显示的“执行异常”。我只是不喜欢这样的事实:我必须手动验证数据,而这些数据似乎是由 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/

相关文章:

json - 如何将由 String 和 Seq[String] 值组成的 Scala Map 转换为 JSON?

java - 如何使用 Docker 在 Jelastic 上部署 Play 2.5 应用程序?

json - 使用 Json.format 函数后,如何从客户端发送 Json,其对应的案例类缺少字段

java - 收到错误 500 但返回 ok()

java - 正则表达式将SQL格式转换为java格式

java - 如何在菜单循环后执行打印语句然后返回主菜单?

json - Play json 写入子类给出不明确的隐含值错误

json - 在 Play2 中将 Scala 列表序列化为 JSON

java - 在 Java 中验证 NTLMv2 身份验证

java - GlassFish 5 上的 JNDI 查找失败