关于潜在的运行时故障,如数据库查询,似乎必须使用某种形式的Either[String, Option[T]]
才能准确捕获以下结果:
- 一些(找到的记录)
- 无(未找到记录)
- SQL 异常
选项根本没有足够的选项。
我想我需要深入研究 scalaz,但现在它是直接的,除非我在上面遗漏了一些东西。
我的 DAO 实现让自己陷入了困境,只使用 Either 进行写入操作,但现在我看到一些 Either 写入依赖于 Option 读取(例如检查新用户注册时是否存在电子邮件),这是一个非常糟糕的赌博.
在我全力以赴之前,是否有人有替代解决方案来处理成功/失败/异常的运行时三重奏?