Repolode
ehmicky

ehmicky/modern-errors

Biblioteca de tratamento de erros para JavaScript/TypeScript que cria classes de erro, encapsula e agrega erros e normaliza exceções inválidas.

Estrelas
1,487
Forks
20
Issues abertas
1
Último commit
há 9 dias

O que é?

modern-errors é uma biblioteca JavaScript para tratar erros de forma consistente no Node.js e nos navegadores. Você define classes de erro com uma API simples de subclasses, adiciona propriedades personalizadas aos erros e encapsula um erro interno em outro usando a opção padrão `cause`, preservando a mensagem, a stack e as informações da classe do erro interno.

A biblioteca também normaliza valores inválidos lançados, como strings ou objetos que não são instâncias de `Error`, transformando-os em instâncias de erro válidas. Chamar `BaseError.normalize()` no ponto de entrada de um módulo garante que todo erro lançado seja válido e pertença a uma classe conhecida ou à classe padrão `UnknownError`, o que ajuda a separar falhas esperadas de bugs.

A funcionalidade pode ser ampliada com plugins para serialização, tratamento de CLI, stacks com formatação aprimorada, respostas de erro HTTP e logging com Winston. O pacote é um ES module, tem tipos TypeScript estritos e requer Node.js 18.18.0 ou posterior.

Recursos principais

  • 01Cria classes de erro com uma API simples de subclasses.
  • 02Adiciona propriedades personalizadas aos erros, inclusive propriedades internas não enumeráveis.
  • 03Encapsula erros internos com a opção padrão `cause`, combinando suas mensagens e stacks.
  • 04Agrega vários erros em um só, inclusive quando pertencem a classes de erro personalizadas.
  • 05Normaliza valores inválidos lançados, transformando-os em instâncias de erro válidas.
  • 06Amplia o comportamento com plugins e tipos TypeScript estritos.

Casos de uso

  • Definir um conjunto compartilhado de classes de erro para uma biblioteca de Node.js ou navegador.
  • Separar erros esperados de entrada do usuário de bugs inesperados na fronteira de um módulo.
  • Adicionar contexto aos erros conforme se propagam pelas camadas do código.
  • Serializar erros em JSON e restaurá-los com o plugin serialize.

Início rápido

  1. 1

    Instale a biblioteca com npm

    npm install modern-errors
  2. 2

    Crie classes de erro com ModernError.subclass e importe-as onde precisar

Antes de usar

  • Requer Node.js 18.18.0 ou mais recente.
  • É exclusivamente um módulo ES e não pode ser carregado com require().

Tópicos

Perguntas frequentes

O que é modern-errors?
Biblioteca de tratamento de erros para JavaScript/TypeScript que cria classes de erro, encapsula e agrega erros e normaliza exceções inválidas. modern-errors é uma biblioteca JavaScript para tratar erros de forma consistente no Node.js e nos navegadores. Você define classes de erro com uma API simples de subclasses, adiciona propriedades personalizadas aos erros e encapsula um erro interno em outro usando a opção padrão `cause`, preservando a mensagem, a stack e as informações da classe do erro interno.
modern-errors é gratuito? Qual é a licença?
modern-errors é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
modern-errors ainda é mantido?
Manutenção ativa. O último commit de modern-errors foi em 13 de out. de 2026.
Para que posso usar modern-errors?
Definir um conjunto compartilhado de classes de erro para uma biblioteca de Node.js ou navegador. Separar erros esperados de entrada do usuário de bugs inesperados na fronteira de um módulo. Adicionar contexto aos erros conforme se propagam pelas camadas do código. Serializar erros em JSON e restaurá-los com o plugin serialize.
Como instalar modern-errors?
Instale a biblioteca com npm: npm install modern-errors Crie classes de erro com ModernError.subclass e importe-as onde precisar
Onde consigo modern-errors?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/ehmicky/modern-errors

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados