Sou novo em Java, estou treinando fazendo um simples cadastro e estou com a seguinte situação.
Tenho um formulário Buscar, neste formulário tenho os botões: Novo (Funcionando), ***Editar (Esta situação)***, Excluir (Funcionando) e Pesquisar (Ainda não codificado).
Ao selecionar um cliente no formulário e clicar no botão editar, aparece a mensagem de Erro: “Erro ao selecionar Cliente! Null”.
Não consigo resolver.
private void jBtnEditarActionPerformed(java.awt.event.ActionEvent evt) {
if(jTblCliente.getSelectedRow() == -1){
JOptionPane.showMessageDialog(null, "Cliente deverá ser selecionado!");
} else {
try{
ClienteInformation c = new ClienteInformation();
ClienteDao clidao = new ClienteDao();
c.setCodigo((int)jTblCliente.getValueAt(jTblCliente.getSelectedRow(), 0));
JInFrmCadCliente ccli;
form.abrirForm(ccli = new JInFrmCadCliente(), FrmPrincipal.jDtpPrincipal);
dispose();
} catch(Exception ex){
JOptionPane.showMessageDialog(null,"Erro ao selecionar Cliente! " + ex.getMessage());
}
}
}
Tabela - jTblCliente;
Formulário - JinFrmCadCliente;
Ambiente: Java, Netbeans, Mysql, Workbench
SO: Windows 10
Bem-vindo ao fórum.
Tem alguma razão específica pra fazer catch de Exception?
Faça de uma exceção mais específica. SQLException por exemplo.
E coloque pra imprimir o stacktrace do erro pra saber o que está causando.
1 curtida
Este código que postei é referente a Janela de Busca e não tem comando SQL. O SQLException estou usando na classe que faz acesso ao Banco, ClienteDAO.
Para melhor entendimento da minha estrutura:
Tenho Janela Principal, chamo a janela de Buscar Cliente.
Em Buscar Cliente Tenho, jTable e os Botões citados.
Além do pacote de Interface, tenho DAO, BLL e MODEL.
Vou verificar como funciona o stacktrace e inserir no meu código. Se tiver um exemplo para me enviar.
Agradeço.
Qual exceção vc está tratando com aquele try catch?
O stacktrace seria ex.printStackTrace() ou ex.getStackTrace() se for exibir na janela.
Estou tratando o ClienteInformation c = new ClienteInformation();
Já peguei exemplos, modifiquei este trecho.
Obrigado pelo Bem-Vindo e pela força. Quero poder entender java. rsrs
Isso joga uma exceção?
Qual?
A linha “ClienteInformation c = new ClienteInformation();” pega informação na classe ClienteInformation.java no pacote model, onde tenho o get e set.
Pelo que entendi, não consigo trabalhar com dados de uma classe sem ser por try catch e por isto desta estrutura, ou seja, ao usar dados de uma classe devo usar esta estrutura pois pode haver erro na execução e com isto consigo identificar a sua localidade para pode tratar.
Peço que me corrija, se eu estiver errado.
No caso a exceção que você questiona, seria em que sentido?
Só por acessar dados de outra classe em si, não precisa de try catch.
Você é obrigado a rodear com try catch quando o método joga uma Checked Exception (SQLException, IOException, etc).
Em alguns casos é interessante tbm em Unchecked Exceptions como quando está fazendo parse de um número ou data e o valor é inválido.
Ainda estou pesquisando uma forma de resolver. Vou está fechando o tópico. Obrigado.