Infinite While Loop Cuando InputMidmatchException está atrapado en el bloque try-catch [duplicado]

Esta pregunta ya tiene una respuesta aquí:

try / catch con InputMismatchException crea un bucle infinito 7 respuestas

Sigo obteniendo mi código atrapado en un bucle while infinito.

No es nada avanzado, pero no puedo resolverlo por la vida!

Alguien por favor ayuda

Por supuesto, acabo de volver a crear el error específico sin todas las declaraciones if que tengo en mi programa real.

    package bs;

    import java.util.InputMismatchException;
    import java.util.Scanner;

    public class bs {

        public static void main(String[] args) {

            Scanner sc = new Scanner(System.in);

            boolean continueVar = true;

            while (continueVar) {

                try {
                    System.out.println("Enter Something");
                    int input = sc.nextInt();

                } catch (InputMismatchException i) {
                    System.out.println("What the f***?");
                    continueVar = true;
                }
            }


        }
    }

El bucle infinito ocurre cuando se detecta la excepción de desajuste de entrada. Creo que al menos le pediría al usuario que vuelva a ingresar su entrada, pero en lugar de hacerlo, simplemente continúa en el ciclo como sigue:

    run:
    Enter Something
    df
    What the f***?
    Enter Something
    What the f***?
    Enter Something
    What the f***?

¡Actúa como si solo estuviera ignorando el objeto de escáner sc?!

Respuestas a la pregunta(4)

Su respuesta a la pregunta