在Controller方法中抛出异常玩框架?

时间:2016-06-29 10:34:04

标签: java model-view-controller playframework exception-handling controller

我正在使用Play框架(2.5)进行Java开发。在那里,我们配置路由,并为这些路由触发相关的控制器方法。

我有一个问题是,在这些控制器方法签名中包含异常抛出是否可以,或者我们必须在方法体内捕获它们?

EX:

public Result getPurchasedStatisticsOutOfAllPriceChecked(String from, String to) throws InvalidParameterException, SalesServiceException {

        RequestParams requestParams = new RequestParams(messageProvider);
        requestParams.setDateRangeStart(from);
        requestParams.setDateRangeEnd(to);

        return ok(processInfluenceOnSales(influenceOnOverallSales));
}

1 个答案:

答案 0 :(得分:1)

我认为更好的方法是在Action方法中处理这些异常,而不是抛出。通过这种方式,您可以使用相关的错误消息回复客户端,否则最终会出现

  

500内部服务器错误

并且您的堆栈跟踪看起来像跟随play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception,然后是相应的异常跟踪。