Tratar com CATCH

4 respostas
R

Gente tenho uma dúvida.

Gostaria de chamar um método dentro de um CATCH para tratar erro.

Pode ?

Alguem me explica por favor.

Please Help now !

4 Respostas

M

chamar um método dentro de um catch? Ué, pode…, mas antes tu me explica exatamente a sua dúvida por favor hehehehe , nao entendi

R

Oi Matheus !

Bem , eu sei que dentro do catch, geralmente a gente coloca System.out.print(coloca uma mensagem aqui).

O que quero é só isso.
Quando há falha vai pro catch.

Aí , deentrro do meu catch desejaria de chamar novamente o mesmo metodo que falhou da primeira vez automaticamente, desta vez com umnovo paramentro, pra fazer nova tentativa…

Por exemplo. imagine um programinha java que deseja acessar um arquivo x. Só que x não existe no path solicitado. Então entra o catch, aí meu catch chama o mesmo metodo que tentou abrir o x, só que desta vez ele tem um segundo path (uma segunda tentativa)

Será que é possível ?

Obrigada por sua disposição

J

Vê se é isso:

public class Calc{

  public int divide(int a, int b) throws ArithmeticException{
    return a/b;
  }

  public static void main(String[] args){
    Calc c = new Calc();
    try{
      c.divide(5, 0);
    }catch(ArithmeticException ae){
      c.divide(10, 2);
    }
    
    //porem ele pode falhar novamente, aí você pode tratar
    try{
      c.divide(5, 0);
    }catch(ArithmeticException ae){
       try{
         c.divide(10, 0);
       }catch(ArithmeticException e){
         System.out.println("Não dá pra divider por 0 mesmo!");
       }
    }
  }
}
J

ola, acho que voce esta falando em chamada recursiva de metodo, se for, pode fazer sim, sem problema nenhum…

public int metodo(int n) {
   int novaTentativa = n;
   try {
      operacaoQuePodeLancarExcecao(n);
   } catch(Exception e) {
         novaTentativa++;
         metodo(novaTentativa);
      }
   return novaTentativa;
}

desculpe se ficou confuso, mas espero que tenha ajudado

Criado 8 de junho de 2005
Ultima resposta 9 de jun. de 2005
Respostas 4
Participantes 4