Manipulação de exceção, captura faz com que o loop pare
Eu tenho um arquivo que eu preciso ler, imprimir os inteiros, pegar exceção e continuar com o próximo número inteiro para exibir e assim por diante até que não haja mais inteiros.
O arquivo contém: 12 5 sd 67 4 cy
Eu quero mostrar:
12
5
Erro de entrada
67
4
Erro de entrada
No entanto, só me dá 12, 5, seguido de erro de entrada, e ele pára. Eu tentei colocar tudo em um loop while e loops interminavelmente com a exceção de entrada.
public static void readNumbers()
{
File inputFile = new File ("C:/users/AC/Desktop/input.txt");
try
{
Scanner reader = new Scanner(inputFile);
while(reader.hasNext())
{
int num = reader.nextInt();
System.out.println("Number read: " +num);
}
}
catch (InputMismatchException e)
{
System.out.println("Input error ");
}
catch (FileNotFoundException e2)
{
System.out.println("File not found!");
}
}
}
O que estou perdendo para que o loop continue lendo o próximo int e assim por diante?