Вы обещаете, что tempLastFileCreated
- это File
, поэтому оно также не может быть Unit
или String
и т. Д. У вас есть пара вариантов.Вместо этого вы можете использовать Option[File]
:
val tempLastFileCreated: Option[File] = try {
Some(files(0))
}
catch {
case e: ArrayIndexOutOfBoundsException => None
}
Или, например, если вы хотите сохранить сообщение об ошибке, другой вариант - использовать Either
:
val tempLastFileCreated: Either[String, File] = try {
Right(files(0))
}
catch {
case e: ArrayIndexOutOfBoundsException => Left("index out of bounds!")
}
Независимо от того,Лучше всего подходит для ваших нужд.Возможно, вы захотите взглянуть на тип данных Scala scala.util.Try
, который безопаснее.Например,
val tempLastFileCreated: Option[File] = Try(files(0)) match {
case Success(file) => Some(file)
case Failure(throwable) => None //or whatever
}