流程块中的条件异常引发

时间:2013-05-24 06:50:56

标签: scala akka future continuations dataflow

在使用Akka的数据流DSL时,我有两次遇到需要在未来有条件地抛出异常。我就是这样做的:

flow {
  // ...
  if (someCond)
    shiftUnit(throw new SomeException)
  else
    Future().apply()
  // ...
}

这是正确的方法吗?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

这种方法似乎是正确的(虽然我的知识有点生疏),你甚至可以省略其他分支,下面的工作对我来说(Scala 2.10.1):

flow { if (x == 2) shiftUnit(throw new Exception) }

会产生Future[Unit]