6

在 PR 审查期间,我被要求替换Sync[F].delay为,Sync[F].catchNonFatal因为可能会抛出异常

这确实有效:

scala> Sync[IO].delay(throw new Exception).recover{ case t: Throwable => 42 }.unsafeRunSync
res10: Int = 42

不确定该行为是否特定于IO,我还能够找到相应的法律说它实际上是预期的,但我在主要的猫效应文档中找不到关于 API 中自动处理异常的提及。

.delay有没有人知道在or .mapor中抛出 cat-effect wrt 异常的原理和预期行为.flatMap

4

0 回答 0