Try

Try には Either と同じように2つの値がある。Success と Failure だ。Either と違うのは、Failure には Throwable の値しか入れられないことだ。こんな感じ。

scala> import scala.util.Try
import scala.util.Try

scala> val v: Try[Int] = Try(throw new RuntimeException("to be caught"))
v: scala.util.Try[Int] = Failure(java.lang.RuntimeException: to be caught)

Throwable ってなに?ってかんじだけど、Java の例外みたいなものかな。

Failure には Throwable しか入れられないので、Try は1つだけ型パラメータをとって、それが Success の中身の型になる。

scala> val v1 = Try(3)
v1: scala.util.Try[Int] = Success(3)

うーん、まだ消化不良だけど、今日は時間がないのでここまで。