Try catch?

3 respostas
J

Como fazer , por exemplo depois de um try catch ele não gerar apenas a mensagem, mas sim voltar a executar o que tinha anterior?

tipo:

try{ int num = Integer.parseInt(n); } catch(NumberFormatException e) { JOptionPane.showMessageDialog( null,"Dado inválido!"); }

Se ele chegar no catch por ex, ele voltaria a executar o anterior, poderia ser uma caixa de diálog etc.
O que eu não sei é como voltar!
Valeu!!!

3 Respostas

H

Bom, se ele chegar no cathc é pq deu algum erro…
Agora se vc quer fazer ele entrar no try várias vezes, ponha dentro de uma estrutura de repetição…um for por exemplo…

J

Chama o que você quer de novo…

private String n = "abc";

public void metodo(){
   try{
      int num = Integer.parseInt(n);
   }catch(NumberFormatException nfe){
       JOptionPane.showMessageDialog(null, "Dado invalido");
       metodo();
   }
}

nesse caso aí, ele vai executar de novo, o unico problema é que vai dar exceção de novo porque eu nao mudei nada no n, mas se você alterar o valor dele tudo bem…

M

Não serve um while então?

boolean cont = false; while(cont==false){ //aqui vc altera o valor num JOptionPane por exemplo n="abc" try{ int num = Integer.parseInt(n); cont=true; }catch(NumberFormatException nfe){ JOptionPane.showMessageDialog(null, "Dado invalido"); } } }

Criado 21 de agosto de 2005
Ultima resposta 21 de ago. de 2005
Respostas 3
Participantes 4