Choose a fallback when the main result is unavailable.

Recover with a Default

RecoverDefault.scala
object Main {
  def main(args: Array[String]): Unit = {
    val ok = 
    val primary = 20
    val fallback = 5
    val value = if (ok) primary else fallback
    val source = if (ok) "primary" else "fallback"

    println("source=" + source)
    println("value=" + value)
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val ok = 
    val primary = 20
    val fallback = 5
    val value = if (ok) primary else fallback
    val source = if (ok) "primary" else "fallback"

    println("source=" + source)
    println("value=" + value)
  }
}
recover-default Async APIs often provide recovery steps for failed work. This example models recovery as a safe choice between a primary value and a default.