Try-catch не работает -InputMismatchException - PullRequest
0 голосов
/ 07 мая 2018
System.out.println("Enter floor: ");
int f=x.nextInt();
p.setFloor(f);

Этот код связан с объектом

public void setFloor(int floor){
    try{
        this.floor = floor ;
    }catch (InputMismatchException e){
        System.out.println("Enter only digits");
    }
}

Вывод

Enter floor:
hesdd
Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Unknown Source)
    at java.util.Scanner.next(Unknown Source)

Почему улов не работает?

1 Ответ

0 голосов
/ 07 мая 2018

InputMismatchException был брошен при вызове Scanner.nextInt, вы должны немедленно поймать его:

int f;
try {
   f = x.nextInt();
}catch (InputMismatchException e){
    System.out.println("Enter only digits");
}
...