1

ここで尋ねられたことと同様の質問があります (複数または単一の Try Catch )、ただし、私の場合は、機能のために (パフォーマンス上の理由ではなく) このパターンに従う必要があります。

基本的に、私は Scalatra でパラメーター エラーを処理しています。最初の失敗で残りの試行呼び出しをスキップすることなく、変換が失敗した場合にキャッチする簡単な方法が必要です。

つまり、このようなパターンに従うものが必要です

  def checkMultiple(a:Seq[Try]):Either[Map[_,Throwable],Map[_,Success]] = {
    ???
  }

私はtry句のシーケンスを入れました。それらのいずれかが失敗した場合、最初の試行 (失敗した試行のマップとその例外を含む) だけでなく、失敗したすべての試行のマップを返します。それ以外の場合は、すべてのマップを返します。成功値でマップされた試行の

本質的にこれをすでに実行しているモナドパターンがあるかどうか、またはこれを実行するユーティリティライブラリがあるかどうかは誰にもわかりませんか? そうでなければ、上記の関数をどのように定義しますか?

4

1 に答える 1