NullPointerException não devia se chamar ErrorOfProgrammerException?
Recentemente no trabalho fui chamado por um Analista para tirar uma dúvida no seu código. Adivinha qual era o erro? Claro que o erro era de NullPointerException, mais conhecido como “erro do programador”. O Phillip Calçado escreveu um excelente artigo, chamado Contratos Nulos, onde ele explica claramente e absurdamente bem como evitar esse erro, utilizando boas práticas de programação.
Mas a questão é, por que os programadores não evitam esse tipo de erro?
Um exemplo bem comum desse erro:
Método algumaCoisa
Método main
Se por algum motivo o método algumaCoisa receber por parâmetro um objeto String que aponta para null, esse método irá lançar uma NullPointerException. O erro se dá por conta do objeto param chamar o método equals sem ter uma referência.
Então, para evitar esse erro faça:
Método algumaCoisa

Com certeza deve existir outras formas de evitar vários erros de NullPointerException, mas a principal falha é dos programadores, por não “visualizarem” esses erros nos seus códigos.





June 28th, 2007 at 9:20 am
eu tenho uma estratégia para lançar os erros sempre para as camadas superiores, afinal é sobretudo elas que tem o interesse de saberem se a coisa funfou ou não.
Crio uma estratégia tentando simular o conceito de Design by contract que é a base desse artigo do Shoes, onde o metodo testa o perímetro dos valores aceitáveis e lança uma exceção que é capturada por quem faz a chamada e então decide que estratégia lançar como uma mensagem a um usuário ou a chamada a um esquema de contenção (como o caso de perder a conexão ao banco por exmeplo e ficar offline)