Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Calsse Teste Conexao não compila

Bom dia!

A minha classe TesteConexao não compila.

Eu verifiquei que no código do professor, que no catch é colocado somente o IllegalStateException.

Queria entender porque isso acontece?

Segue o Código:

public class Conexao implements AutoCloseable {

    public Conexao() {
        System.out.println("Abrindo conexao");
        //throw new IllegalStateException();
    }

    public void leDados() {
        System.out.println("Recebendo dados");
        throw new IllegalStateException();
    }

    @Override
    public void close() throws Exception {
        System.out.println("Fechando conexao");

    }
}


public class TesteConexao {
    public static void main(String[] args) {

        try(Conexao conexao = new Conexao()){ // erro de compilacao aqui
            conexao.leDados();                // pede para add throws Execption no main
                                              // ou add Exception no catch
        }catch (IllegalStateException ex) {
            System.out.println("Deu erro na conexao");
        }

        //------------------------------------------------

//        Conexao con = null;
//        try {
//            con = new Conexao();
//            con.leDados();
//        } catch(IllegalStateException ex) {
//            System.out.println("Deu erro na conexao");
//        } finally {
//            System.out.println("Finally");
//            if (con != null){
//                con.fecha();
//            }
//        }
    }
}
3 respostas
solução!

Boa tarde, Daniel! Como vai?

Na aula não houve necessidade de fazer um catch para Exception pq o instrutor removeu o throws Exception da assinatura do método close()! Ele mostra essa possibilidade a partir dos 8:00 dessa aula!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Eu não tinha me atentado para esse detalhe no metodo close().

Obrigado pela ajuda

Por nada, Daniel! Sempre que precisar de qualquer ajuda é só mandar aqui no fórum da Alura!

Grande abraço e bons estudos, meu aluno!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software