Olá desenvolvedores, encerramos nossa série sobre orientação a objetos e hoje começaremos a conversar sobre tratamento de erros e exceções. Exceções são erros que podem ocorrer durante a execução de um programa. Tais erros podem ser de lógica, conversões, acessos entre outros.

Mesmo para o programador experiente é praticamente impossível prever todos os erros que podem ocorrer. Entretanto, é exatamente dentro deste contexto de tentar minimizar o máximo possível a ocorrência de erros que as exceções se inserem. Elas são fundamentais para que o programa não pare e continue funcionando.

A essência do tratamento de exceções consiste na tentativa de prever o que pode ocorrer e tratar antes que ocorra. Ou ainda, promover um desvio para que o sistema continue a funcionar para o usuário.

No entanto, o não tratamento da exceção, algo bastante comum pode implicar em uma parada inesperada no sistema. Imagina um sistema de banco parando em produção bem no meio do expediente? São inúmeros os transtornos tanto para o banco como para os clientes. E se o cenário for de uma fábrica? Toda a produção pode ficar parada gerando e ocasionando prejuízos até que o sistema volte a funcionar.

Então já deu pra perceber a importância de conhecer os erros que podem acontecer no desenvolvimento de um sistema. E quão importante é saber tratar este tipo de exceção.

O NullPointerException é um tipo de exceção que é lançado quando tentamos manipular um objeto nulo. É um dos mais comuns que podem ocorrer.

ERROS NO TRATAMENTO DE EXCEÇÃO

É claro que você desenvolvedor pode também não tratar exceções de forma correta, e neste caso pode tornar muito difícil encontrar erros. Em Java são utilizados os comandos try e catch para tratar as exceções.

Evite usar exceções genéricas. E para isso, é preciso entendê-las, para então que possa usá-las corretamente. Busque criar exceções específicas para requisitos que realmente são importantes para o negócio. Assim, dessa forma as exceções poderão mostrar claramente qual erro ocorreu. Faça isso e veja o trabalho para manter o seu código diminuir consideravelmente.

Use mensagens claras nas exceções. Você pode até criar um arquivo com todas as mensagens de exceções. E quando se tratar de uma exceção diretamente relacionada a regra de negócio encontre uma forma de mostrar uma mensagem informativa e realmente útil para o usuário. Não o deixe no escuro.

Crie o hábito de documentar as exceções, aliás esta premissa se aplica ao desenvolvimento como um todo. Neste documento deixe claro porque você criou esta ou aquela exceção. Será importante para você, mas principalmente para o programador que dará manutenção do código, se não for alguém familiarizado com ele.

EM POUCAS PALAVRAS

Um sistema tem que ser funcional a ponto de se recuperar de um erro tratá-lo e continuar operando. E ainda, informar seja para o usuário ou para a equipe de desenvolvimento quando se tratar de um erro técnico. 

Um erro que a equipe não prevê e obviamente por isso acaba por não o tratar, pode implicar em grandes prejuízos. Como parada completa de máquina, e até mesmo de uma empresa.

Um exemplo que certamente você já deve ter se deparado no seu dia a dia, e que é muito comum em casas lotéricas é um sistema fora do ar. E nem sempre um sistema fica fora do ar em função da falta de conexão com a internet. Às vezes pode ser por uma necessidade de atualização, correção de algum bug. ou por uma exceção não tratada, que também pode resultar em um bug.

É isso pessoal, começamos hoje uma série sobre o tratamento de exceção. Nós vemos no próximo tutorial onde continuaremos a tratar sobre exceções. Nos vemos lá.