Tratamento de Excessao

Boa noite… estou com um codigo aqui que esta me dando dor de cabeca… é um exercicio da faculdade e tenho que inserir o tratamento de erro nele… so que o problema consiste que ele exibe a mensagem mas nao volta a pedir o valor e vai para o próximo requisito…

(ex: numero da casa… ele exibe o erro mas passa direto pro bairro)

[code]private void cadastraFuncionario() {
nome = verifica.verificaString();
System.out.println("— CADASTRO —\n Nome: ");
nome = verifica.verificaString();
System.out.print("Rua: ");
rua = verifica.verificaString();
System.out.print("Numero: ");
numero = verifica.verificaInt();
System.out.println("Bairro: ");
bairro = verifica.verificaString();
cidade = verifica.verificaString();
System.out.print("Cidade: ");
cidade = verifica.verificaString();
System.out.print("CEP: ");
cep = verifica.verificaString();
System.out.print("Telefone: ");
telefone = verifica.verificaInt();
System.out.print("Salário: ");
salario = verifica.verificaDouble();

    empresa.cadastraFuncionario(nome, rua, numero, bairro, cidade, cep, telefone, salario);
}[/code]

[code]public int verificaInt()
{
int inteiro = 0;

    do
    {
        try
        {
            inteiro = input.nextInt();
            continua = false;
        }
        catch ( InputMismatchException e )          
        {   
            input.nextLine(); 
            System.out.println("Você precisa inserir números somente. Tente novamente: \n" );
            continua = false;
        }
    } while(continua);   
    return inteiro;
}[/code]

Tira o continua = false; de dentro do catch que vai funcionar como vc ta querendo…

Outra coisa, se foi exercicio passado na facu blz. Mas do jeito que está a lógica, parece que vc usa o catch para ir pulando a linha na leitura. Isso, na vida real nao se faz, já que para o input já existe o método para verificar se a entrada é um int ou não…
Vai ver por nisso ele já esta passando pro bairro, pq vc pula uma linha no bloco catch…

oh meu deus!!! como eu não vi isso!!!

muitíssimo obrigado…

não sei como essa linha foi parar ai…

que falta de atenção!!!

como assim ir pulando a linha de leitura?

Esse input não ta lendo de um arquivo?