當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Scala Future.recover用法及代碼示例


recover 方法(或屬性)屬於concurrent.Future特性(trait),其相關用法說明如下。

用法:

def recover[U >: T](pf: PartialFunction[Throwable, U])(implicit executor: ExecutionContext): Future[U]

創建一個新的未來,它將處理這個未來可能包含的任何匹配的 throwable。如果沒有匹配,或者如果這個未來包含一個有效的結果,那麽新的未來將包含相同的結果。

例子:

Future (6 / 0) recover { case e: ArithmeticException => 0 } // result: 0
Future (6 / 0) recover { case e: NotFoundException   => 0 } // result: exception
Future (6 / 2) recover { case e: ArithmeticException => 0 } // result: 3

類型參數:

U

返回的類型Future

值參數:

pf

如果此 Future 失敗,則應用 PartialFunction

返回:

帶有此 Future 的成功值或 PartialFunction 的結果的 Future

源碼:

Future.scala

相關用法


注:本文由純淨天空篩選整理自scala-lang.org大神的英文原創作品 Future.recover。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。