Problemas com exception em um DAO

3 respostas
J
amgios, criei uma classe teste, mas tá dando o seguinte erro :
//unreported exception java.sql.SQLException; must be caught or declared to be thrown
o codigo da interface :
public interface FuncionarioDAOif {
    public void inserir(Funcionario funcionario) throws SQLException;
}
o implementador:
public void inserir(Funcionario funcionario) throws SQLException {
        sql = "INSERT INTO funcionario(cod_tipo, email, matricula, nome_funcionario, nome_login, senha_login) values (?,?,?,?,?,?)";
        
        try{
            conexao = DAOfactory.getConexao(DAOfactory.POSTGRES);
            stmt = conexao.prepareStatement(sql);
            
            stmt.setString(1, funcionario.getTipo_cargo());
            stmt.setString(2, funcionario.getEmail());
            stmt.setString(3, funcionario.getMatricula());
            stmt.setString(4, funcionario.getNome_funcionario());
            stmt.setString(5, funcionario.getNome_login());
            stmt.setString(6, funcionario.getSenha_login());
            
            if(stmt.executeUpdate() == 0){
                throw new SQLException("Dados NAO inseridos");
            }
        }catch( SQLException e ){
            throw e;
        }finally {
            DAOfactory.fecharConexao(conexao, stmt, null);
        }
    }//INSERIR FUNCIONARIO
A função de teste :
public static void main( String args[] ){
        br.unime.cronow.beans.Funcionario funcTeste = new Funcionario();
        FuncionarioDAO funcDAO = new FuncionarioDAO();
        
        funcTeste.setTipo_cargo("3");
        funcTeste.setNome_funcionario("Moises Augusto");
        funcTeste.setMatricula("15154");
        funcTeste.setNome_login("moca");
        funcTeste.setSenha_login("nalva");
        funcTeste.setEmail("[email removido]");
        
        funcDAO.inserir(funcTeste); // O ERRO APARECE AQUI !!!
        
    }//main

Pessoal, por favor, esclareça esse problema pra mim. :(

3 Respostas

quebrado

ola jrjorro
tenta assim meu

public static void main( String args[] ) throws Exception{

vc esta afirmando que no metodo inserir podera ser lançado uma exception entao precisa de um try-catch.
ok
t+

plentz

Só alguns comentários.

Deveria ser uma ConnectionFactory, não?

Outra coisa, pra que você colocou aquele catch?

E

Se a sua função inserir tem no cabeçalho a clausula “throws SQLException”, ou a chamada dela deve estar em um bloco try catch, ou a função q chama ela deve conter a mesma clausula.

Criado 19 de maio de 2007
Ultima resposta 21 de mai. de 2007
Respostas 3
Participantes 4