Repolode
ehmicky

ehmicky/modern-errors

JavaScript/TypeScript向けのエラーハンドリングライブラリ。エラークラスの作成、エラーのラップや集約、無効な例外の正規化ができます。

スター
1,487
フォーク
20
未解決の Issue
1
最終コミット
9 日前

これは何?

modern-errorsは、Node.jsとブラウザで一貫した方法でエラーを扱うためのJavaScriptライブラリです。シンプルなサブクラスAPIでエラークラスを定義し、エラーに独自のプロパティを追加できます。また、標準のcauseオプションを使って内側のエラーを外側のエラーでラップしつつ、内側のエラーのメッセージ、スタック、クラス情報を保持できます。

文字列やErrorインスタンスではないオブジェクトなど、throwされた無効な値も、適切なエラーインスタンスに正規化します。モジュールのエントリーポイントでBaseError.normalize()を呼び出せば、throwされたエラーがすべて有効になり、既知のクラスまたはデフォルトのUnknownErrorクラスに分類されるため、想定内の失敗とバグを切り分けやすくなります。

シリアライズ、CLI処理、整形されたスタックトレース、HTTPエラーレスポンス、Winstonロギング用のプラグインで機能を拡張できます。このパッケージはES moduleで、厳密なTypeScript型を備え、Node.js 18.18.0以降が必要です。

主な機能

  • 01シンプルなサブクラスAPIでエラークラスを作成できます。
  • 02エラーに独自のプロパティを追加できます。列挙不可の内部プロパティにも対応しています。
  • 03標準のcauseオプションで内側のエラーをラップし、メッセージとスタックを統合できます。
  • 04カスタムエラークラスを含む複数のエラーを1つに集約できます。
  • 05throwされた無効な値を適切なエラーインスタンスに正規化できます。
  • 06プラグインと厳密なTypeScript型で機能を拡張できます。

ユースケース

  • Node.jsまたはブラウザ向けライブラリで、共通のエラークラス群を定義する。
  • モジュール境界で、想定されるユーザー入力エラーと予期しないバグを切り分ける。
  • コードの各層を伝播するエラーにコンテキストを追加する。
  • serializeプラグインを使ってエラーをJSONにシリアライズし、復元する。

クイックスタート

  1. 1

    npmでライブラリをインストールする

    npm install modern-errors
  2. 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 の数値は毎日更新されます。

関連プロジェクト