如何在Play中抛出Action中的错误或异常?

时间:2017-02-15 02:45:56

标签: java playframework

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

1 个答案:

答案 0 :(得分:0)

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

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

因此,如果您想拥有404 http错误页面(“找不到页面”)的专用和自定义页面,请构建给定视图并在onClientError方法中调用它(您有{{1从400,401或其他http状态代码到404的参数。

如果您想拥有自定义错误页面,则必须使用statusCode方法调用专用视图。