当我执行对F.Promise.get(timeout)
的调用时,我会发现超时异常。
不幸的是,以下代码段无法编译,因为TimeoutException
实际上从未被抛出,因为它是一个已检查的异常。
final Promise<WSResponse> routeRequest = WS.url(baseRoute)…;
try {
return routeRequest.get(10000);
} catch (final TimeoutException ex) {
// log something
return DEFAULT;
}
F.Promise.get(timeout)
实际引发了哪个超时异常? (文件没有说明)
如何捕获或处理它?</ p>
答案 0 :(得分:0)
你试过捕捉Throwable吗?请参阅下面的斜体(来自Play Framework documentation):
public A get(long timeout)
等待获得结果的承诺。
参数:超时 - 用户定义的超时(以毫秒为单位)
返回:承诺的结果
抛出: java.lang.Throwable - 如果提供承诺的计算引发了异常