[alex], Zauważ że to praktycznie chroni tylko przed pustym stringiem.
Metoda toInt wykonana na Stringu który jest literami zwraca właśnie NumberFormatException
Czyli to i tak nie pomaga jeśli chcę wyłapać, że ktoś wpisał litery.
Jako że scala nie ma break i continue, poradziłem sobie rekurencją:
def myReadInt(): Int = {
var n: Int = 0
try{
n = readInt
} catch {
case nfe: java.lang.NumberFormatException =>
println("Przyjmuję tylko liczby!");
n = myReadInt;
case e: Exception =>
println("Nieznany błąd");
n = myReadInt;
}
return n
}