我阅读了有关错误处理的PlayFramework的官方文档。我了解到使用HttpErrorHandler
类很好。他们说这样的错误处理类可以捕获Action
的错误或异常。我看到了DefaultHttpErrorHandler
类的方法。但是,DefaultHttpErrorHandler
类如何区分Action
引发的错误或异常?某些方法(如onServerError
)将int
参数作为参数,因此在这种情况下Action
如何抛出错误或异常?是否显示其他页面?
答案 0 :(得分:0)
基本上,Controller中抛出的异常将导致500 http错误代码。 onServerError
方法将捕获并处理此异常。
另一方面,400,401,403或404 http错误代码在Play环境中称为“客户端错误”。这些错误是onClientError
方法捕获和处理的。
因此,如果您想拥有404 http错误页面(“找不到页面”)的专用和自定义页面,请构建给定视图并在onClientError
方法中调用它(您有{{1从400,401或其他http状态代码到404的参数。
如果您想拥有自定义错误页面,则必须使用statusCode
方法调用专用视图。