pessoal, esse erro acontece ao executar meu programa
Exception in thread "Thread-3" java.lang.NullPointerException
alguem sabe o que é e como posso resolver???
Obg
pessoal, esse erro acontece ao executar meu programa
Exception in thread "Thread-3" java.lang.NullPointerException
alguem sabe o que é e como posso resolver???
Obg
Não tinha nenhum stack trace junto dessa mensagem? Nele tem a linha do programa onde ocorreu o erro.
Significa que em algum lugar da sua aplicação voce ta usando um objeto que é nulo.
eh bom vc colocar todo o codigo para identificamos a linha que está com o objeto null
Mas essa excecao diz que vc usou o . (ponto) em um objeto com o valor NULL
[quote=LPJava]eh bom vc colocar todo o codigo para identificamos a linha que está com o objeto null
Mas essa excecao diz que vc usou o . (ponto) em um objeto com o valor NULL[/quote]
Se o método ou atributo for static, não tem problema. 8)
[quote=Bruno Laturner][quote=LPJava]eh bom vc colocar todo o codigo para identificamos a linha que está com o objeto null
Mas essa excecao diz que vc usou o . (ponto) em um objeto com o valor NULL[/quote]
Se o método ou atributo for static, não tem problema. 8) [/quote]
ue claro que nao tem problema, pq o static nem precisa do ponto! ai o caso eh diferente, com static… ele nao chama pela referencia e sim pelo tipo…
[quote=vinnyparker]pessoal, esse erro acontece ao executar meu programa
Exception in thread "Thread-3" java.lang.NullPointerException
alguem sabe o que é e como posso resolver???
Obg[/quote]
Tentou trabalhar com um objeto que não foi devidamente “criado”, ou seja, ele é nulo. Passe o código e o erro completo para vermos( isso se já não resolveu rs). :twisted: :twisted: :twisted:
:shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:
Um Grande Abraço!
Linha do console onde mostra o erro:
Exception in thread "Thread-3" java.lang.NullPointerException
at br.com.link3.dp.convert.converters.PGConverter.export(PGConverter.java:191)
at br.com.link3.dp.convert.converters.PGConverter$1.run(PGConverter.java:63)
linha no codigo 191
final Class<?> hClass = list.get(0).getClass();
linha no codigo 63
export(module);
Essa lista deve estar vazia e o erro é lançado pelo objeto nulo… ou a lista é nula
Coloque um breakpoint nessa linha.
Rode em modo debug. E veja o valor da lista, e do que é retornado pelo get(0).
Um deles é nulo.
Mas aprenda a usar um depurador!!! Tanto o Netbeans, quanto o Eclipse, tem excelentes depuradores.
Senhores, bom dia,
Ressulcitando o tópico, preciso da ajuda de vocês.
Estou com este mesmo problema a um certo tempo, e não consigo resolver.
Tenho uma aplicacao que roda como tarefa para efetuar atualizações de tabelas em uma base de dados.
Estou usando Thread.
O erro que aparece é esse abaixo, sendo que hora é atualizado tudo perfeitamente e hora aparece este erro abaixo.
Outra coisa estranha é que o erro não da sempre na mesma tabela.
Exception in thread "Thread-3" java.lang.NullPointerException
at controle.Sc5DAO.alterar(Sc5DAO.java:54)
at principal.Schedule.Sc5web(Schedule.java:589)
at principal.Schedule.run(Schedule.java:144)
Erro da linha: 54 da classe Sc5DAO
PreparedStatement stmt = con.prepareStatement(sql);
Erro da linha: 589 da classe Schedule
dao.alterar(sc5);
Erro da linha: 144 da classe Schedule
Sc5web();
Se precisarem de mais informações para tentar a desvendar esse erro comigo é so pedir, pois não sei mais o que fazer.
Obrigado
[quote=leandrooooo]Senhores, bom dia,
Ressulcitando o tópico, preciso da ajuda de vocês.
Estou com este mesmo problema a um certo tempo, e não consigo resolver.
Tenho uma aplicacao que roda como tarefa para efetuar atualizações de tabelas em uma base de dados.
Estou usando Thread.
O erro que aparece é esse abaixo, sendo que hora é atualizado tudo perfeitamente e hora aparece este erro abaixo.
Outra coisa estranha é que o erro não da sempre na mesma tabela.
Exception in thread "Thread-3" java.lang.NullPointerException
at controle.Sc5DAO.alterar(Sc5DAO.java:54)
at principal.Schedule.Sc5web(Schedule.java:589)
at principal.Schedule.run(Schedule.java:144)
Erro da linha: 54 da classe Sc5DAO
PreparedStatement stmt = con.prepareStatement(sql);
Erro da linha: 589 da classe Schedule
dao.alterar(sc5);
Erro da linha: 144 da classe Schedule
Sc5web();
Se precisarem de mais informações para tentar a desvendar esse erro comigo é so pedir, pois não sei mais o que fazer.
Obrigado[/quote]
a sua resposta seria a mesma que foi dada para o cara la em cima, verifique usando o depurador qual variavel esta nula, no seu caso acho que seria ou a con (sua Connection) ou a variavel sql que aparentemente deve ser uma string), linha 54 da classe Sc5DAO.
[quote]
a sua resposta seria a mesma que foi dada para o cara la em cima, verifique usando o depurador qual variavel esta nula, no seu caso acho que seria ou a con (sua Connection) ou a variavel sql que aparentemente deve ser uma string), linha 54 da classe Sc5DAO. [/quote]
Realmente, a minha variavel con do codigo acima está nula.
Me responde um pergunta, (desculpe se a pergunta for ignorante).
Por exemplo, tenho que atualizar uma tabela com 10 mil resgistro.
Essa atualizacao estou fazendo por update ou insert.
Quase 8 mil registro ja foram atualizado para depois ele dar aquele erro de java.lang.NullPointerException.
como e por que isso pode acontecer?
Desde já obrigado.
Como vc inicializa a variável con?
Bom, vou enviar todo meu codigo:
Está é minha classe de conexao com o banco sql server express.
public class Conexao {
public static String status = "";
public static Connection getConnection() {
Connection con = null ;
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
con = DriverManager.getConnection"jdbc:jtds:sqlserver://localhost:1433/NOMEBANCO;user=USUARIO;password=SENHA");
status = "aberta";
} catch (SQLException e) {
status = e.getMessage();
} catch (ClassNotFoundException e) {
status = e.getMessage();
} catch (Exception e) {
status = e.getMessage();
}
return con;
}
}
E abaixo o codigo da minha classe DAO com um dos metodos que criei.
public class Sc5DAO {
private Connection con;
public Sc5DAO() throws SQLException {
this.con = Conexao.getConnection();
}
public void alterar(Sc5web s5cweb) throws SQLException {
String sql = " UPDATE SC5WEB010 "+
" SET " +
" C5_CLIENTE=?, C5_VEND1=?, C5_PEDACAC=?, C5_EMISSAO=?, " +
" C5_HORAPD=?, C5_HORAFN=?, D_E_L_E_T_=?, C5_DTRECEP=?, C5_HORAREC=?, " +
" C5_OCORREN=?, C5_LIBEAPR=? "+
" WHERE C5_NUM = ? ";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1,s5cweb.getC5_cliente());
stmt.setString(2,s5cweb.getC5_vend1());
stmt.setString(3,s5cweb.getC5_pedacac());
stmt.setString(4,s5cweb.getC5_emissao());
stmt.setString(5,s5cweb.getC5_horapd());
stmt.setString(6,s5cweb.getC5_forafn());
stmt.setString(7,s5cweb.getD_e_l_e_t_());
stmt.setString(8,s5cweb.getC5_dtrecep());
stmt.setString(9,s5cweb.getC5_horarec());
stmt.setString(10,s5cweb.getC5_ocorren());
stmt.setString(11,s5cweb.getC5_libeapr());
stmt.setString(12,s5cweb.getC5_num());
stmt.execute();
stmt.close();
}
}
Att
Uma exception deve estar sendo disparada após várias conexões abertas. Certifique-se que todos os statements estão sendo fechados com stmt.close() e todas as conections também com con.close(). Aparentemente, você não está fechando as conections no seu banco.
Na prática, é uma péssima prática guardar uma exception uma variável de status, e nunca testar o valor dessa variável. É o mesmo que ignorar solenemente as exceptions. Aliás, variáveis de status eram uma prática de linguagens antigas, que não suportavam exceptions adequadamente. No lugar de fazer isso, aprenda a trabalhar corretamente com elas:
http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/
óia!! ressucitaram meu tópico!!!
Obrigado, vou testar aqui e depois falo no que deu…
ViniGodoy,
Show de Bola, meu problema foi resolvido!
E agora entendi e aprendi a trabalhar com exceptions.
Obrigado!