这是我的问题! 当我在for表达式中使用多个未来任务时,我对异常恢复的结果感到困惑。
object ForTest {
def ft1(n: Int): Future[Int] = Future(n*2)
def ft2(n: Int): Future[Int] = Future(60/n)
def main(args : Array[String]) : Unit = {
val n = 0
val res =
for {
a1 <- ft1(n)
a2 <- ft2(n)
} yield (a1,a2)
res.map{ x =>
println(s"x=$x")
}.recover{
case t: Throwable =>
println(s"exception ${t.getStackTrace}")
}
}
}
以上是我的代码。有时它打印出异常,有时不打印,我完全糊涂了。任何人都可以帮助我吗?