Erro: Exception InputMismatchException?

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

}

Olá,
O tratamento não evita que erros aconteçam, apenas são tratados (outro procedimento é executado qnd ocorre).
Por mais que vc “trate” o erro, NUNCA será possível ler uma String sobre um int.