0

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

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

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

4

1 回答 1

2

该方法似乎是正确的(尽管我的知识有点生疏),您甚至可以省略另一个分支,以下对我有用(Scala 2.10.1):

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

这导致Future[Unit].

于 2013-05-24T07:36:12.800 回答