JTabel e JDialog

7 respostas
ksmvalente

Pessoal é o seguinte, tenho um jTable que fica em um JDialog.

uma classe conexao com o método:

public ResultSet getResults()
    {
        ResultSet rs = null;
        try
        {
            rs = statement.executeQuery("select * from chamados");
        }
        catch(SQLException e)
        {
            JOptionPane.showMessageDialog(null,"Erro");
        }
        return rs;
    }

uma classe Tabela, com o construtor:

public Tabela(ResultSet rs) throws SQLException
    {

            setResult( rs );

    }

e no jDialog eu chamo assim:

tabela = new Tabela(objConexao.getResults());

Está dando o seguinte erro:

unreported exception java.sql.SQLException; must be caught or declared to be thrown

Tradução:

não declarada excepção java.sql.SQLException; devem ser capturados ou declarada a ser atirada

já botei tds os try catch td certinho… os throws tbm…
Alguem tem alguma dica?

7 Respostas

sr.saude

Você colocou try/catch ou throw no JDialog?

ksmvalente

o código que ta no dialog é esse:

tabela = new Tabela(objConexao.getResults());

que chama os outros dois métodos…

sr.saude

Mas esse código tem que estar dentro de um método que lança uma SQLException ou dentro de um try/catch.

gertmuller

vê kra… a exceção que tá aparecento é do construtor do teu JTable. O ‘throws’ não trata a exceção, e sim repassa o tratamento dela pra classe-pai (ou seja, a que chamou aquele método).

Então, notei que quando vc chamar o construtor do JTable tu tem que chamar dentro do escopo de um ‘try’ e tratar a exceção com um ‘catch’…

tipo:

try { tabela = new Tabela(objConexao.getResults()); } catch(Exception e) { System.out.println(e.getMessage()); }

ksmvalente

blz galera, vlw pelas respostas, era isso msm…
entretanto continuou com um outro erro…

mas eu já vi o que era, ja resolvi meu problema…

vlw!

ViniGodoy

gertmuller:
vê kra… a exceção que tá aparecento é do construtor do teu JTable. O ‘throws’ não trata a exceção, e sim repassa o tratamento dela pra classe-pai (ou seja, a que chamou aquele método).

Então, notei que quando vc chamar o construtor do JTable tu tem que chamar dentro do escopo de um ‘try’ e tratar a exceção com um ‘catch’…

tipo:

try { tabela = new Tabela(objConexao.getResults()); } catch(Exception e) { System.out.println(e.getMessage()); }

Entretanto, jamais faça um try, catch como o demonstrado nesse post. Nunca, never, em hipótese alguma. Ignorar exceções é uma das piores políticas que se pode colocar num programa. Trata-as corretamente.

Os seguintes artigos que te ensinarão a mexer corretamente com exceções:
http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/


novemberrain

Vinih, me ajuda lah nakele topicu…

beijuuuu! obrigado lindooo! :wink: :wink: :wink:

Criado 11 de julho de 2008
Ultima resposta 12 de jul. de 2008
Respostas 7
Participantes 5