Core concept

def divide(a: Int, b: Int): Either[String, Int] =
  if (b == 0) Left("div by zero") else Right(a / b)
Advertisement

How it works

Bridging Java's throw takes wrapping.

Advertisement

Trade-offs + gotchas

FP-idiomatic. Composable error paths.