Esse código sempre da erro caso digite uma letra “InputMismatchException”, não sei porque isso acontece pois tem tratamento estou esquecendo de algo?
Classe para tratar erros (Exceções):
package javaapplication183;
public class LetrasInvalidasException extends Exception {
String letraDigitada;
public LetrasInvalidasException(String letraDigitada) {
this.letraDigitada = letraDigitada;
}
@Override
public String getMessage() {
return " letra digitada: " + this.letraDigitada;
}
}
Main:
package javaapplication183;
import java.util.InputMismatchException;
import java.util.Scanner;
public class JavaApplication183 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
try {
int recebe = teste(scan);
} catch (LetrasInvalidasException ex) {
System.out.println(ex.getMessage());
}
}
public static int teste(Scanner scan) throws LetrasInvalidasException {
System.out.println("numero: ");
int op = scan.nextInt();
return op;
}
}