データベースクエリなどの潜在的なランタイム障害に関してはEither[String, Option[T]]
、次の結果を正確にキャプチャするために、何らかの形式を使用する必要があるようです。
- 一部(レコードが見つかりました)
- なし(レコードが見つかりません)
- SQL例外
オプションには単に十分なオプションがありません。
私はscalazに飛び込む必要があると思いますが、上記の何かが欠けていない限り、今のところそれはまっすぐです。
DAOの実装で自分自身を追い詰め、書き込み操作にどちらかを使用しましたが、一部のどちらかの書き込みはオプションの読み取りに依存していることがわかりました(たとえば、新しいユーザーのサインアップ時に電子メールが存在するかどうかを確認する)。 。
どちらかにオールインする前に、成功/失敗/例外のランタイムトリフェクタを処理する方法について誰かが別の解決策を持っていますか?