0

Akka のデータフロー DSL を使用しているときに、future 内で条件付きで例外をスローする必要に 2 回遭遇しました。これが私がやっている方法です:

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 に答える