Erro no finally

1 resposta
Y
eu defini "con"  dentro da classe  pq  dando erro de compilação?





olha :





C:yasnayaWEB-INFclassesChecamatricula.java:102: unreported exception java.sql.SQLException; must be caught or declared to be thrown


  finally {con.close();}








veja o código:





 private boolean consulta()





// Classe que consulta se o funcionário existe





 {


  int i=0;





  try


     {


       Statement st = con.createStatement();


       ResultSet dados=st.executeQuery("SELECT * FROM funcionario where matricula=´"+matricula+"´");


		 while(dados.next())


			    i++;


		 if (i==0)


		    retorna = false;


		 else


		   retorna = true;


    }





  catch ( Exception e )


     {


      e.printStackTrace();	


      con = null;


      System.err.println("ERROR: Erro na consulta !");


      System.err.println(e.toString());


      return retorna;


     }


  finally {con.close();}


  return retorna;


 }

1 Resposta

J
O metodo close de Connection tambem levanta uma SQLException. E como vc não está tratando e nem colocando a SQLException na assinatura do metodo está dando erro de compilação.





Tente fazer assim:





finally {


try {


con.close();


}


catch(SQLException sqlex) {


System.out.println("Nao pode fechar a conexao.");


}


}








valeuz
Criado 12 de março de 2003
Ultima resposta 12 de mar. de 2003
Respostas 1
Participantes 2