【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インスタンスに保持されている、抑制されたエラーオブジェクトです。