Я пытаюсь написать метод, который выдает значение Any для определенного типа и возвращает параметр вместо того, чтобы бросать исключение, например instanceOf. Scala не ведет себя так, как я ожидал:
def cast[A](value: Any): Option[A] =
{
try
{
Some(value.asInstanceOf[A])
} catch
{
case e: Exception => None
}
}
Тест:
val stringOption: Option[String] = cast[String](2)
stringOption must beNone
не работает с ошибкой
java.lang.Exception: 'Some(2)' is not None
У кого-то есть идея, почему?