Utilizar Exception em evento MouseClicked

2 respostas
W

Olá pessoal

Não estou nada acostumado em programação Swing, estou com o seguinte problema:

Tenho uma classe chamada ContatoDAO.java

package Classes;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

public class ContatoDAO {
    /** Creates a new instance of ProdutoDAO */
    public ContatoDAO()throws Exception {
        Class.forName(jdbc_driver).newInstance();
        Connection conn = DriverManager.getConnection(jdbc_url, jdbc_user, jdbc_password);
        statement = conn.createStatement();
    }
    
   //***Demais métodos ***///

    private Statement statement;
    private static String jdbc_driver= "org.gjt.mm.mysql.Driver";
    private static String jdbc_url = "jdbc:mysql://localhost:3306/agenda";
    private static String jdbc_user = "root";
    private static String jdbc_password = "123456";
    
}

Quando tento chamar no evento o método construtor do ContadoDAO como no código abaixo

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
        ContatoDAO contatoDAO = new ContatoDAO();      
    }

O Netbeans exibe a seguinte mensagem:
Add throws clause for java.lang.Exception
ou Surround with try-catch

O problema é que não consigo colocar a clausula throws Exception
E agora? Já que o método construtor do DAO lança uma exception. Como faço para lançá-la no evento?

Agradeço a ajuda de todos
Wallfox

2 Respostas

B

você pode tratar a excessão e lança-la como unchecked.

veja:

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { try { ContatoDAO contatoDAO = new ContatoDAO(); } catch (Exception e) { throw new RuntimeException(e); } }

t+

T

Não faça isso: é melhor fazer algo como:

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
    try {
       ContatoDAO contatoDAO = new ContatoDAO();
    } catch (Exception e) {
        JOptionPane.showMessage (......) // mostre uma mensagem de erro aqui
    }
 }

É que se você lançar uma exceção fora de um tratamento de evento de botão você pode acabar derrubando o programa inteiro, que provavelmente não é o que você quer.

Criado 14 de novembro de 2006
Ultima resposta 14 de nov. de 2006
Respostas 2
Participantes 3