从scalaz Task捕获错误结果

时间:2013-11-26 16:05:35

标签: scala scalaz

我是scala的新手,来自全python背景。我目前有以下代码将注释保存到cassandra db,Item是一个模型,我有一个单独的文件:

trait DoTask {
  def annotate(item: String, annotation: String): Task[Item]
}

object DoTask {
  def apply(log: Log)(implicit pool: ExecutorService): DoTask =
    new DoTask with Logging {
      def annotate(item: String, annotation: String): Task[Item] = {
        val item = Item(item, annotation)

        (log write item) >>
        (logger infoT s"item: $item") >>
        (Task now item)
      }
}

任务运行并且我能够成功执行注释,但是我在掌握错误捕获机制时遇到了问题。在python中,如果我有一个dict作为响应,我可以执行try-except或result.get(“error”)。任何帮助表示赞赏。

0 个答案:

没有答案