[英]How to detect and handle timeout in F.Promise.get(timeout)
當我執行對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)
實際上拋出哪個超時異常? (文檔未說明任何內容)
如何捕捉或應對呢?
您是否嘗試過捕捉Throwable? 請參閱下面的斜體(來自Play Framework文檔 ):
公共獲取(長時間超時)
等待獲得結果的承諾。
參數: timeout-用戶定義的超時(以毫秒為單位)
返回:預期結果
拋出: java.lang.Throwable-如果提供諾言的計算拋出異常
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.