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)
うーん、まだ消化不良だけど、今日は時間がないのでここまで。