В чем ошибка если так писать?
public static int readInt(){
        int i = 0;

        try {
            i = Integer.parseInt(readString());
        } catch (NumberFormatException e) {
            System.out.println("Произошла ошибка при попытке ввода числа. Попробуйте еще раз.");
            readInt();
        }
        return i;
}