问题描述
我一直在浏览这个主题。
仅从 stackoverflow,我发现的最好的综合帖子是
Try[Result],IO[Result],Either[Error,Result],which should I use in the end
How to add proper error handling to cats-effect's Resource
我想知道到目前为止猫效果的艺术状态是什么?
https://typelevel.org/blog/2018/04/13/rethinking-monaderror.html 中引入的 MonadBundler 很有趣,但听起来没有维护,我想知道它是否已集成到 cat-effects 2 或 3 中但重命名了?
另外,我想知道那句话是否仍然正确:
IO 可能出现的另一个问题是,当您在 IO 上使用eitherT monad 转换器时,您最终会得到两个不同的MonadError 实例,用于相同类型。 IE。你有 MonadError[EitherT[IO,E,?],E] 和 MonadError[EitherT[IO,Throwable],这会导致一些微妙的错误。使用 EachT[UIO,E] 只有一种错误类型,因此只有一个 MonadError 实例。
由于我目前使用的是cats-effects 而不是Zio,我想知道在使用cats-effects IO 时处理错误的最佳实践是什么?
附注: 在 stackoverflow 之外,我发现的问题的最佳表现是在这篇博文中https://guillaumebogard.dev/posts/functional-error-handling/
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)