Core concept

def parse(s: String): Either[String, Int] =
  s.toIntOption.toRight(s"bad: $s")
Advertisement

How it works

Right-biased in Scala 2.12+ — flatMap/map work on Right. Left short-circuits.

Advertisement

Trade-offs + gotchas

Error handling in FP style. Non-exceptional failures.