Try catch - resolvido

9 respostas
van_bommel
import javax.swing.*;

public class TestaEq2Grau {


  public static void main(String[] args){
  
          EquacaoSegundoGrau x = new EquacaoSegundoGrau ();
          
   
    String aux = JOptionPane.showInputDialog ( "Insira o  A da equação do 2º grau  ");
       x.setA ( Integer.parseInt (aux) );
 
    // Obs.1: Considere que o usuário fornecerá o valor de a diferente de zero.

     if ( x.getA() !=0) {
      
             
    aux = JOptionPane.showInputDialog (  "Insira o B da equação do 2º grau " );
    x.setB ( Integer.parseInt (aux) );
    aux = JOptionPane.showInputDialog (  "Insira o C  da equação do 2º grau  " );
    x.setC ( Integer.parseInt (aux) );
    
   
    JOptionPane.showMessageDialog ( null, x.delta() );
   }
   
   

        else if ( x.getA() == 0 ) {
   
        JOptionPane.showMessageDialog ( null,  "insira o A diferente de 0 ","BURRO" , JOptionPane.INFORMATION_MESSAGE  );
  

        }
   
   

   

    

  
  }

}
Ola pessoas , queria fazer com try catch, não fica melhor ?

9 Respostas

robinsonbsilva

jovem…normalmente usamos o bloco try/catch para tratar exception
Caso vc veja a possibilidade de ocorrer erros em sua rotina e quer fazer um tratamento, use-o!

van_bommel

taa.mais como eu faço ?? ainda nãoa prendi na faculdade. quero fazer por conta propria.

robinsonbsilva

Já que quer aprender veja este tutorial… é bem simples!


http://www.arquivodecodigos.net/arquivo/visualizar_dica.php?qual_dica=2133

Mas resumidamente é assim:

try{
  // código que pode provocar erros
}
catch(Tipo_Exceção nome){
  // tratamento do erro
}
van_bommel
import javax.swing.*;

public class TestaEq2Grau {


  public static void main(String[] args){
  String aux = "";
      
      EquacaoSegundoGrau x = new EquacaoSegundoGrau ();
       try {
                
   
      aux = JOptionPane.showInputDialog ( "Insira o  A da equação do 2º grau  ");
       x.setA ( Integer.parseInt (aux) );
 
    // Obs.1: Considere que o usuário fornecerá o valor de a diferente de zero.

         if  ( x.getA() ==0 ){
      JOptionPane.showMessageDialog ( null,  "insira o A diferente de 0 ","BURRO" , JOptionPane.INFORMATION_MESSAGE  );

          }
          else {
             aux = JOptionPane.showInputDialog (  "Insira o B da equação do 2º grau " );
            x.setB ( Integer.parseInt (aux) );
            aux = JOptionPane.showInputDialog (  "Insira o C  da equação do 2º grau  " );
            x.setC ( Integer.parseInt (aux) );
    
   
              JOptionPane.showMessageDialog ( null, x.delta() );

          
          
          }
       
   
             }catch(Exception e){
             
             JOptionPane.showMessageDialog ( null,"erro de leitura");
             
            
   

             }
    
       
    

  
  }

}

mais ou menos isso ?

felipehand

Mais ou menos. podia remover por completo os ‘ifs’, no caso quando ele fizesse a divisão por zero iria cair no catch, e a mensagem de erro ficaria lá…
Mais ou menos assim:

import javax.swing.*;   
  
public class TestaEq2Grau {   
  
  
  public static void main(String[] args){   
  String aux = "";   
         
      EquacaoSegundoGrau x = new EquacaoSegundoGrau ();   
       try { 
             aux = JOptionPane.showInputDialog ( "Insira o  A da equação do 2º grau  ");   
             x.setA ( Integer.parseInt (aux) );        
             aux = JOptionPane.showInputDialog (  "Insira o B da equação do 2º grau " );   
             x.setB ( Integer.parseInt (aux) );   
             aux = JOptionPane.showInputDialog (  "Insira o C  da equação do 2º grau  " );   
             x.setC ( Integer.parseInt (aux) );
             JOptionPane.showMessageDialog ( null, x.delta() );     
             }catch(Exception e){                
                JOptionPane.showMessageDialog ( null,  "insira o A diferente de 0 ","BURRO" , JOptionPane.INFORMATION_MESSAGE  );   
                /*  Obs: Caso queira colocar mais erros o bloco catch pode ser repetido sem problemas */
             }   
       
         
       
  
     
  }   
  
}
edmarr

Se realmente fosse para ele tratar Exeception , vc deveria tratar em um nivel mais baixo como tratar diretamente
por exemplo ArithmeticException .
Eh nao generelizar com o Exeception .

van_bommel

não funciono inseri o zero e não de erro.

felipehand

Anh sim, no codigo que está ali, está chamando sua função que calcula o Delta… e pelo que eu me lembro o valor de A no delta pode ser 0… vai dar pau na divisão, se ‘a’ for 0, vai ficar dividindo por 0.

sauron_fight

Estou querendo fazer um try catch para que nao possar
remover um arquivo referenciado em outra tabela, se alguem poder me
ajudar fico muito grato?

Criado 3 de setembro de 2009
Ultima resposta 14 de mai. de 2010
Respostas 9
Participantes 5