java - 如何从 Play 中的 Action 中抛出错误或异常?

标签 java playframework

我阅读了PlayFramework的官方文档关于错误处理。我了解到使用 HttpErrorHandler 类是很好的。他们说这样的错误处理类可以捕获来自 Action 的错误或异常。我看到了 DefaultHttpErrorHandler 类的方法。但是,DefaultHttpErrorHandler 类如何区分 Action 抛出的错误或异常?某些方法(例如 onServerError)将 int 参数作为参数,那么在这种情况下,Action 如何抛出错误或异常?其他页面有显示吗?

最佳答案

基本上, Controller 中抛出的异常将导致 500 http 错误代码。 onServerError 方法将捕获并处理此异常。

另一方面,400、401、403 或 404 http 错误代码在 Play 环境中称为“客户端错误”。这些错误由 onClientError 方法捕获并处理。

因此,如果您想要为 404 http 错误页面(“页面未找到”)创建一个专用的自定义页面,请构建给定的 View 并在 onClientError 方法中调用它(您有statusCode 参数将 404 与 400、401 或其他 http 状态代码区分开来。

如果您想要自定义错误页面,则必须在 onServerError 方法中调用专用 View 。

关于java - 如何从 Play 中的 Action 中抛出错误或异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42239808/

相关文章:

java - 在 Spring 3.1.0 中使用 Spring Data JPA

scala - 编译 Play 应用程序时出现的问题

java - 用于 mysql 5.6 的 mysql-connector-java

java - 使用正则表达式进行顺序v/s嵌套循环结构解析

java - 将 Javafx 应用程序 jar 文件转换为 apk 文件 (Netbeans)

java - 为什么这里呈现的模板不正确?

scala - 方法参数中多个连续的粗箭头在 Scala 中意味着什么?

java - JPA 和 EBean Play 框架之间的区别

java - JOptionPane 对话框在 Eclipse 中无法正确显示

java - 如何通过 LDAP 在 AD 中启用用户?