, ( ), PartialFunction. Try . Try , . (Option, , , . , - .)
:
import scala.util.{Try, Success, Failure}
val check1:PartialFunction[Int, Try[String]] = {case x if x==1 => Failure(new Exception("error1"))}
val check2:PartialFunction[Int, Try[String]] = {case x if x==2 => Failure(new Exception("error2"))}
val check3:PartialFunction[Int, Try[String]] = {case x if x==3 => Failure(new Exception("error3"))}
val process: PartialFunction[Int, Try[String]] = {case x => Success(s"[$x] processed OK")}
val checks = check1 orElse check2 orElse check3 orElse process
for (i <- 1 to 4) yield (checks(i))