斯卡拉 2.10.2。跑步
import util.continuations._
import concurrent.ops._
object Main {
def main(args: Array[String]) {
reset {
try {
shift { cont: (Unit => Unit) => {
spawn {
throw new Exception("blah")
cont()
}
}}
println("after shift")
} catch {
case e: Exception => println(e)
}
println("reset end")
}
}
}
给
Cont.scala:16: error: type mismatch;
found : Unit
required: Unit @scala.util.continuations.cpsParam[Unit,Unit]
case e: Exception => println(e)
^
one error found
如果我删除 try/catch 块,一切都很好。我仍在试图弄清楚 Scala 中的延续是如何工作的,但这完全让我难以理解。