当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。