Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】SuppressedError::SuppressedError: errorインスタンスデータプロパティの使い方

SuppressedError: errorインスタンスデータプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

SuppressedError: errorプロパティは、複数のエラーが発生した際に、そのうち一つを主要なエラーとし、残りのエラーを「抑制されたエラー」として扱うSuppressedErrorオブジェクトに、実際に抑制されたエラーオブジェクトを保持するプロパティです。

JavaScriptでは、非同期処理などで複数のエラーが同時に発生する状況があります。例えば、複数の非同期処理を並行して実行し、そのうちいくつかが失敗した場合などです。SuppressedErrorクラスは、このようなケースで、発生したエラーのうち、ある特定の「主要なエラー」とは別に、他のエラーを「抑制されたエラー」として管理するために導入されました。

このerrorプロパティは、その「抑制されたエラー」として扱われる実際のエラーオブジェクトそのものを格納しています。開発者はこのプロパティにアクセスすることで、主要なエラーの他に発生した、しかし直接的にスローされなかったエラーの内容を詳細に確認することができます。これにより、プログラムのデバッグやエラーハンドリングにおいて、すべての関連するエラー情報を網羅的に把握し、適切な対応をとることが可能になります。SuppressedErrorは、Promise.allSettled()のような、複数の処理結果をまとめて扱うAPIで利用されることがあります。

公式リファレンス: SuppressedError: error

構文(syntax)

1const originalError = new Error("An initial error occurred.");
2const cleanupError = new Error("An error occurred during cleanup.");
3const suppressedErrorInstance = new SuppressedError(cleanupError, originalError, "Failed to complete cleanup after initial error.");
4
5const retrievedError = suppressedErrorInstance.error;

引数(parameters)

引数なし

引数はありません

戻り値(return)

Error

SuppressedErrorインスタンスに保持されている、抑制されたエラーオブジェクトです。

関連コンテンツ