Obsługa wyjątków, catch powoduje zatrzymanie pętli

Mam plik, który muszę odczytać, wydrukować liczby całkowite, przechwycić wyjątek i kontynuować z następną liczbą całkowitą do wyświetlenia, i tak dalej, aż nie będzie już liczb całkowitych.

Plik zawiera: 12 5 sd 67 4 cy

Chcę, żeby to wyświetlało:

12
5
Bład wejścia
67
4
Bład wejścia

Jednak daje mi tylko 12, 5, a następnie błąd wejściowy i zatrzymuje się. Próbowałem umieścić wszystko w pętli while i pętla bez końca z wyjątkiem wejścia.

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!");
      }    
  }

 }

Czego mi brakuje, aby pętla kontynuowała czytanie następnego int i tak dalej?

questionAnswers(3)

yourAnswerToTheQuestion