Wie konvertiere ich Funktionen, die Ausnahmen auslösen, in Funktionen, die entweder zurückgeben?

Angenommen, ich habe einige Funktionen, die Ausnahmen auslösen. Ich wickle sie ein, um zurückzukehrenEither[Throwable, <function return type>]. (Nehmen wir an, ich braucheEither eher, alsTry).

def fooWrapper(arg1: FooArg1, arg2: FooArg2) =
  try Right(foo(arg1, arg2)) catch { case NonFatal(e) => Left(e) }

def barWrapper(arg1: BarArg1, arg2: BarArg2, a3: BarArg3) =
  try Right(bar(arg1, arg2, artg3)) catch { case NonFatal(e) => Left(e) }

...

Jetzt würde ich gerne eine schreibengenerisch Wrapper, um den Bolierplate-Code loszuwerden. Was würdest du vorschlagen ?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage