ScalaのEither型は2つの持ちうる型の代表となる型です。Left型かRight型のどちらかのインスタンスを持っています。例外がスローされる可能性がある処理などについて、このEither型でラップすることで、安全に、かつその後の処理を妨げない形で扱えるようになります。通常Right型には、処理が成功するなどで得られた正常な値を入れ、Left型には処理が失敗した原因など(Throwableやエラーメッセージなど)をいれます。 例えばStringOps#toIntはString型をInt型に変換するメソッドですが、このメソッドはInt型に変換できないときはNumberFormatExceptionをスローします。変換に成功した時にRight、失敗したときの例外をLeftに返すコードは以下のようになります def stringToInt(str: String) = { try { Ri