相关疑难解决方法(0)

Scala恢复或恢复

我们正在Scala开发一些系统,我们有一些疑问.我们正在讨论如何映射未来的异常,我们不知道何时应该使用选项1或选项2.

val created: Future[...] = ???
Run Code Online (Sandbox Code Playgroud)

选项1:

val a = created recover {   
  case e: database.ADBException =>
    logger.error("Failed ...", e)
    throw new business.ABusinessException("Failed ...", e) 
}
Run Code Online (Sandbox Code Playgroud)

选项2:

val a = created recoverWith {   
  case e: database.ADBException =>
    logger.error("Failed ...", e)
    Future.failed(new business.ABusinessException("Failed ...", e))
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释我何时应该选择1还是选项2?什么是差异?

scala

41
推荐指数
2
解决办法
3万
查看次数

标签 统计

scala ×1