터미널에서 보기 좋은 출력을 제공하고, 필드 우선 구조의 JSON과 비밀 정보 마스킹을 지원하며 런타임 의존성이 없는 범용 TypeScript 및 JavaScript 로거입니다.
ehmicky/modern-errors
오류 클래스를 만들고, 오류를 래핑·집계하며, 유효하지 않은 예외를 정규화하는 JavaScript/TypeScript 오류 처리 라이브러리입니다.
- 스타
- 1,487
- 포크
- 20
- 열린 이슈
- 1
- 마지막 커밋
- 9일 전
어떤 프로젝트인가요?
modern-errors는 Node.js와 브라우저에서 일관된 방식으로 오류를 처리하는 JavaScript 라이브러리입니다. 간단한 서브클래스 API로 오류 클래스를 정의하고, 오류에 사용자 지정 속성을 추가하며, 표준 cause 옵션을 사용해 내부 오류를 외부 오류로 래핑할 수 있습니다. 이때 내부 오류의 메시지, 스택, 클래스 정보도 유지됩니다.
이 라이브러리는 문자열이나 Error 인스턴스가 아닌 객체처럼 잘못 던져진 값도 적절한 오류 인스턴스로 정규화합니다. 모듈의 진입점에서 BaseError.normalize()를 호출하면 던져진 모든 오류가 유효한 형식이 되고, 알려진 클래스 또는 기본 UnknownError 클래스에 속하게 되어 예상된 실패와 버그를 구분하는 데 도움이 됩니다.
직렬화, CLI 처리, 보기 좋게 출력한 스택, HTTP 오류 응답, Winston 로깅을 위한 플러그인으로 기능을 확장할 수 있습니다. 이 패키지는 ES module이며 엄격한 TypeScript 타입을 제공하고, Node.js 18.18.0 이상이 필요합니다.
핵심 기능
- 01간단한 서브클래스 API로 오류 클래스를 만듭니다.
- 02열거되지 않는 내부 속성을 포함해 오류에 사용자 지정 속성을 추가합니다.
- 03표준 cause 옵션으로 내부 오류를 래핑하고 메시지와 스택을 병합합니다.
- 04사용자 지정 오류 클래스를 포함해 여러 오류를 하나로 집계합니다.
- 05잘못 던져진 값을 적절한 오류 인스턴스로 정규화합니다.
- 06플러그인과 엄격한 TypeScript 타입으로 기능을 확장합니다.
활용 사례
- Node.js 또는 브라우저 라이브러리에서 공통 오류 클래스를 정의합니다.
- 모듈 경계에서 예상된 사용자 입력 오류와 예기치 않은 버그를 구분합니다.
- 코드 계층을 거쳐 전파되는 오류에 맥락을 추가합니다.
- serialize 플러그인으로 오류를 JSON으로 직렬화하고 복원합니다.
빠른 시작
- 1
npm으로 라이브러리를 설치합니다
npm install modern-errors - 2
ModernError.subclass로 오류 클래스를 만들고 필요한 곳에서 가져옵니다
사용 전 알아둘 점
- Node.js 18.18.0 이상이 필요합니다.
- ES 모듈 전용이므로 require()로 불러올 수 없습니다.
토픽
자주 묻는 질문
- modern-errors은(는) 무엇인가요?
- 오류 클래스를 만들고, 오류를 래핑·집계하며, 유효하지 않은 예외를 정규화하는 JavaScript/TypeScript 오류 처리 라이브러리입니다. modern-errors는 Node.js와 브라우저에서 일관된 방식으로 오류를 처리하는 JavaScript 라이브러리입니다. 간단한 서브클래스 API로 오류 클래스를 정의하고, 오류에 사용자 지정 속성을 추가하며, 표준 cause 옵션을 사용해 내부 오류를 외부 오류로 래핑할 수 있습니다. 이때 내부 오류의 메시지, 스택, 클래스 정보도 유지됩니다.
- modern-errors은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- modern-errors은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- modern-errors은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. modern-errors의 마지막 커밋은 2026년 10월 13일입니다.
- modern-errors은(는) 어디에 사용할 수 있나요?
- Node.js 또는 브라우저 라이브러리에서 공통 오류 클래스를 정의합니다. 모듈 경계에서 예상된 사용자 입력 오류와 예기치 않은 버그를 구분합니다. 코드 계층을 거쳐 전파되는 오류에 맥락을 추가합니다. serialize 플러그인으로 오류를 JSON으로 직렬화하고 복원합니다.
- modern-errors는 어떻게 설치하나요?
- npm으로 라이브러리를 설치합니다: npm install modern-errors ModernError.subclass로 오류 클래스를 만들고 필요한 곳에서 가져옵니다
- modern-errors은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/ehmicky/modern-errors
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Chromium 브라우저, Node.js, Electron에서 실행되며 WebUSB로 Android 기기에 연결하는 TypeScript 기반 ADB 클라이언트 재구현
브라우저와 Node.js에서 이미지의 대표 색상과 색상 팔레트를 추출하는 JavaScript 라이브러리입니다.
TypeScript 오류 메시지를 문서 링크와 설명이 포함된, 읽기 쉬운 구문 강조 타입으로 바꿔 주는 VSCode 확장 프로그램입니다.
14개 언어의 프로젝트 코드 품질을 평가하고 전체 점수와 파일별 순위를 보고하는 CLI입니다.
eBPF로 실제 트래픽을 기록해 테스트와 데이터 모의 객체로 재생하는 오픈소스 API·통합 테스트 도구로, 코드 변경이 필요 없습니다.