Infinite While Loop Quando InputMidmatchException for capturado no bloco try-catch [duplicate]

Esta pergunta já tem uma resposta aqui:

try / catch com InputMismatchException cria loop infinito respostas

Eu continuo recebendo meu código travado em um loop while infinit

Não é nada a avançado, mas eu não consigo descobrir isso para a vida de mim!

Alguém ajude

Acabei de criar um erro específico sem todas as instruções if que tenho no meu programa atua

    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;
                }
            }


        }
    }

O loop infinito ocorre quando a exceção de incompatibilidade de entrada é capturada. Eu acho que, pelo menos, pediria ao usuário para digitar novamente suas entradas, mas, em vez de fazer isso, apenas continua no loop da seguinte forma:

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

Ele age como se estivesse apenas ignorando o objeto sc do scanner?!

questionAnswers(4)

yourAnswerToTheQuestion