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
Feedbacks embutidos
Ver todos os 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 20 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

TI x Negócio – Contexto é uma palavra-chave

Algum tempo atrás estive envolvido em uma solução para aumento de capacidade transacional de vários produtos. Foi necessário um redesenho arquitetural por diversos motivos visando um horizonte maior de crescimento de negócio (presente e futuro) alinhado com uma nova estratégia executiva. Iniciativas assim são fruto de um processo de amadurecimento

Governança profissional de IA

Introdução Vivenciamos um superciclo tecnológico; uma onda de inovação continua, amplamente difundida que está remodelando a estrutura de como pensamos e agimos. Segundo a explicação “O último superciclo de tecnologia que aconteceu foi a revolução industrial. Mas, diferente da revolução industrial, são três tecnologias de uso geral que estão nesse

Guardrails Arquiteturais

Guardrails Arquiteturais definem os princípios de segurança, conformidade e eficiência garantem uma infraestrutura sólida e bem direcionada para o negócio. Um dos papeis da arquitetura corporativa é o manter os conceito de guardrails. Uma visão mais holística da infraestrutura e suas relações com o impacto financeiro , continuidade do negócio

O Futuro do Tempo Livre e da Desigualdade (Uma Crônica gerada por IA)

No ano de 2030, a inteligência artificial havia se tornado onipresente, transformando todos os aspectos da sociedade. As máquinas realizavam tarefas complexas e rotineiras, liberando os humanos para explorar novas possibilidades. Em meio a essa revolução, duas histórias se destacavam: a de Ana e a de João. Ana era uma

A segurança digital não começa na api ou app - Começa na sua identidade

A segurança digital não começa na api ou app, começa na sua identidade

Durante muito tempo, a segurança digital foi tratada como um problema de perímetro: blindar a rede, endurecer servidores, testar aplicações, proteger APIs. Introdução: o erro clássico da segurança digital moderna O detalhe é que os principais incidentes atuais (em sistemas maduros) raramente começam no código. Na maioria dos casos, eles

"Uma das métricas para o sucesso da arquitetura de TI é quando ela se torna invisível aos problemas e necessária para a inovação."

Fernando Cerqueira | Arquiteto Corporativo

Sua Reflexão

0
Adoraria saber sua opinião, comente.x