作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我阅读了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/
我是一名优秀的程序员,十分优秀!