Javascript

Try/Catch: Origem, Propósito e o Erro de Usá-lo como Fluxo Lógico

tratamento de erros exceções javascript typescript rust clojure zig boas práticas
Entenda quando, por que e para que o try/catch foi criado, e por que ele não deve ser usado como controle de fluxo lógico.

O conceito de tratamento de exceções tem raízes mais antigas do que muitos imaginam. Embora tenha se popularizado nos anos 70, suas origens remontam ao final dos anos 50 e início dos 60, com linguagens como LISP (1958) e SIMULA 67, que introduziram conceitos fundamentais de manipulação de condições excepcionais. No entanto, foi nos anos 70 com linguagens como PL/I e posteriormente Ada que vimos o surgimento de formas mais estruturadas e organizadas de lidar com erros, incluindo construções mais próximas ao que hoje reconhecemos como try/catch.

Leia mais →

Tratamento Funcional de Erros em TypeScript

javascript typescript fp-ts programação funcional tratamento de erros desenvolvimento
Usando fp-ts para gerenciar erros de forma robusta e tipada

Neste artigo, vamos explorar uma abordagem mais estruturada para o tratamento de erros em TypeScript usando conceitos de programação funcional. A biblioteca fp-ts (Functional Programming em TypeScript) oferece ferramentas que permitem lidar com falhas de forma explícita e type-safe, melhorando a robustez e legibilidade do código. Existem também outras bibliotecas com abordagens semelhantes ou complementares no ecossistema TypeScript:

  • Purify-ts: Uma alternativa mais leve ao fp-ts, focada em tipos como Maybe e Either
  • Neverthrow: Biblioteca especializada em tratamento de erros com Result/Either
  • Effect-ts: Uma biblioteca mais recente que expande os conceitos do fp-ts com um foco em efeitos
  • Zio-ts: Inspirada na biblioteca ZIO de Scala, oferecendo abstrações para IO, concorrência e recursos

Cada uma dessas bibliotecas tem seus pontos fortes, mas o fp-ts se destaca pela sua maturidade, documentação abrangente e ecossistema rico de bibliotecas complementares. Neste artigo, focaremos no fp-ts e em como ele aborda o tratamento de erros de forma funcional.

Leia mais →