簡體   English   中英

如何在F.Promise.get(timeout)中檢測和處理超時

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM