Exceções úteis e amigáveis ao usuário

software crash
Tempo de leitura: 2 minuto(s)

Exceções são classes utilizadas convencionalmente na programação orientada a objetos como o meio mais correto para um sistema controlar anomalias, informando falhas recuperáveis durante operações. Espera-se que todas as exceções possíveis sejam conhecidas e tratadas em código para retornar respostas que o usuário entenda, ou mesmo tomar providências sem intervenção do usuário. É possível criar exceções para sua loja virtual, por exemplo:

O que é uma exceção?

Uma condição anormal passível de recuperação.

Quais casos de uso de uma Exceção?

Criamos uma classe de exceção chamada ProductUnavailableException que o sistema emite (throw) quando um cliente tenta comprar um produto fora de estoque. O próprio sistema deve prever a emissão dessa exceção dentro de um bloco de código definido (try) e toma as providências necessárias em um bloco exclusivo (catch), providênciais tais como o retorno com a notificação por mensagem “Fora de estoque”, a oferta de outro produto, ou o direcionamento para uma lista de espera.

Qual tipo de problema o mecanismo de exceções resolve?

Condição não especificada que leva o programa a um comportamento não esperado.

Como uma exceção pode ser detectada?

dentro do bloco try.

Como uma exceção pode ser tratada?

throw (lançamento) de uma instancia de um tipo da exceção no bloco try.

Como uma exceção pode ser tratada?

Dentro dos blocos catch e finally.

Se um método lança(throw) uma exceção dentro de um bloco(try)  e nenhum ponto do sistema trata (catch), o que acontece?

O programa é terminado com uma mensagem padrão da linguagem.

Por que vejo tantos erros em inglês?

Ocorre por que a programação não foi realizada adequadamente para o correto tratamento de falhas.  Importante converter erros do sistema em notificações intuitivas, de forma clara, de modo que o usuário entenda em seu idioma o que e por que ocorreu.

Justificativa

Em suma, é preciso que as exceções do sistema sejam lançadas em pontos estratégicos nos métodos e sejam tratadas em um ponto central. Essa abordagem é seguida por frameworks padronizados como Laravel,
que utiliza um Handler por onde passam todas as exceções lançadas no sistema, criando, assim, um ponto de controle que facilita a manutenção de emergência.

Criar exceções específicas para cada erro não é apenas uma convenção estética: possibilita diferentes ações de contingência, esclarece diferentes níveis de controle: isso definitivamente agrega coesão e, consequentemente, qualidade ao código.

Quer saber mais sobre como funciona? Fale com um desenvolvedor agora mesmo!
Este artigo foi lido 1505+ vezes. Obrigado por ler até aqui! Fique à vontade pra copiar e compartilhar. Ajude sempre seus colegas. O conhecimento muda vidas!

O conteudo foi útil? Isso é fantástico. Quer incentivar mais posts como esse? Mostre seu apoio com qualquer valor.
Chave PIX: d0311e58-cb6e-4d47-b3d8-3d4254763ce7