Arquitetura Corporativa para Todos

Artigo / Post

Pare de tratar Exception como algo que ela não é! (Vilão ou Solução?)

As Exceptions muitas vezes, elas são apresentadas fora de contexto.

O Verdadeiro papel

Exception é exatamente o que o nome sugere: uma exceção a um fluxo definido. O desafio está em como você trata e manipula essas exceções. O ponto central é planejar como lidar com elas de forma eficaz.

A realdide nas Aplicações

Toda aplicação está sujeita a fluxos de exceção. O que importa é se o seu fluxo é capaz de manipular e tratar essas exceções, mantendo a estabilidade e a consistência dos resultados.

A falta de conexto

Exception é lenta e cara porque gera informações relevantes sobre o fluxo executado, exigindo a parada do processamento principal para registro de todo o fluxo. Argumentar que Exception é lenta sem contexto é um desserviço, desviando do objetivo principal: tornar sua aplicação resiliente a falhas.

Cada Contexto  nos leva  a uam escolha de pattern.

Contexto é tudo!Não use Exception para controlar fluxos de negócio. Sério mesmo?

Vamos a 2 cenários xomo exemplo

  • Duplicate Key: Um método que grava dados no banco e retorna uma falha de “duplicate key” indica uma falha de lógica ou concorrência. Esse erro permite continuar o fluxo de negócio, se devidamente tratado, garantindo a consistência dos dados subsequentes.
    • Não importa quantas vezes você tente executar provavelmente sempre terá o mesmo resultado.
  • Unable to connect Database: Já uma falha de conectividade e requer um tratamento diferente, pois pode ser uma falha transitória que deve ser tratada para obter sucesso.
    • Existe a possibilidade de ser uma falha transitória que eventualmente pode e deve ser tratada por sua aplicação para obter o sucesso desejado.

Boas Práticas

  • Exceptions disparadas em regras de negócio devem estar relacionadas a falhas sistêmicas de infraestrutura e/ou suas dependências, e não relacionadas à lógica de negócio.
  • Mapear as Exceptions (AggregateException, DivideByZeroException entre todas as outras classes de Exception) para direcionar para as classes Exceptions correta também é recomendado, sendo que ela lhe trará muito mais informações importantes para tratar estes fluxos do que declarar tudo como Exception.
  • Result pattern é uma alternativa, mas lembre-se de aplicá-lo com o contexto adequado.

 

Evite gerar Exception sempre que possível, mas faça isso pelos motivos certos!


Tenham um excelente dia! Eu sou Fernando Cerqueira e entrego estratégias digitais para os desafios do presente, com propostas de inovação para um futuro sustentável.

Compatilhe

0 0 votos
Avaliação Global
0 Comentários
Categorias

Sobre o Autor

Picture of Fernando Cerqueira

Fernando Cerqueira

Eu sou Fernando Cerqueira e entrego estratégias digitais para os desafios do presente, com propostas de inovação para um futuro sustentável. Como arquiteto sênior, aproveito meus mais de 30 anos de experiência em arquitetura e desenvolvimento de software para projetar e implementar soluções baseadas em nuvem que ajudam os clientes a transformar seus negócios com tecnologia.

Outros Posts

Categorias

IA e o terno feito sobre medida

Só quem já vestiu um terno feito sobre medida feito por um bom alfaiate sabe a diferença de usar um terno comprado em uma loja. No mercado de TI, a personalização e a adaptação às necessidades específicas de cada empresa são igualmente relevantes para o sucesso. Não basta simplesmente replicar

Os 13 fatores de desenvolvimento de software!

Os 13 fatores de desenvolvimento de software! Não, você não leu errado😁. São 13 mesmo, adicionei um fator extra 😮 , mas antes de falar dele, vamos relembrar os **12** fatores que ajudam a criar aplicações mais resilientes, portáveis e fáceis de gerenciar: Código Base : Uma única base de

IA : Uma sociedade colocada em xeque. “Governando IA para o bem e para todos”

A motivação deste artigo “nasceu” da reflexão sobre o vídeo abaixo (Um robô bípede sendo chutado empurrado em um evento na Ásia). Vídeo : https://www.youtube.com/watch?v=nJoVl-og42M Você sente algum sentimento de desconforto assistindo o vídeo? Por quê ?  Convido você a me acompanhar nesta pequena jornada de reflexão , tomando como

"Defender apenas um único estilo arquitetural é como defender usar a mesma roupa que você dorme no conforto de sua casa ser a escolha correta para ir para o trabalho , um casamento ou a uma festa."

Fernando Cerqueira | Arquiteto Corporativo

Sua Reflexão

0
Adoraria saber sua opinião, comente.x