Prueba ... atrapa ... finalmente devuelve valor
Descubrí que es una pena que no pueda devolver un valor de retorno de una construcción tan simple comotry ... catch ... finally
def foo: String = {
val in = new BufferedReader(.....)
try {
// val in = new BufferedReader(.....) -- doesn't matter
in.readLine
}
catch {
case e: IOException => e.printStackTrace()
}
finally {
in.close()
}
}
Este código no se compila. ¿Hay alguna manera de hacer compilaresperar ¿Usando bibliotecas, construcciones de alto nivel, etc.? Quiero hacerlo solo utilizando la capacidad de Scala puro como lenguaje de programación.