Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

Error() コンストラクター

BaselineWidely available

Error コンストラクターはError オブジェクトを生成します。

構文

js
new Error()new Error(message)new Error(message, options)new Error(message, fileName)new Error(message, fileName, lineNumber)Error()Error(message)Error(message, options)Error(message, fileName)Error(message, fileName, lineNumber)

メモ:Error()new があってもなくても呼び出せます。どちらも新しいError のインスタンス を生成します。

引数

message省略可

人間が読めるエラーの説明。

options省略可

以下のプロパティを持つオブジェクトです。

cause省略可

エラーの具体的な原因を示す値でcause プロパティに反映されます。エラーを捕捉して、より具体的または役立つエラーメッセージとともに例外を再度発生させるとき、元のエラーを渡すためにこのプロパティを使用できます。

fileName省略可非標準

このエラーを発生させたファイルのパスでfileName プロパティに反映されます。既定では、Error() コンストラクターを呼び出したコードを含むファイルの名前です。

lineNumber省略可非標準

このエラーを発生させたファイルの行番号でfileName プロパティに反映されます。既定では、Error() コンストラクターの呼び出しを含む行番号です。

関数呼び出しか new による構築か

Error が関数のように使用された場合 —new がなかった場合、Error オブジェクトを返します。したがって、Error を呼び出すだけでError オブジェクトをnew キーワードから構築した場合と同じものを出力します。

js
// これは...const x = Error("関数呼び出しによって生成されました。");// ...これと同じ機能です。const y = new Error('"new" キーワードによって生成されました。');

原因とともに例外を再発生させる

場合によっては、例外を捕捉して、新しいメッセージとともに例外を再発生させることが有用であることがあります。その場合、元のエラーを新しいError のコンストラクターに渡すべきです。

js
try {  frameworkThatCanThrow();} catch (err) {  throw new Error("New error message", { cause: err });}

より詳細な例については、Error > 類似するエラーと区別する をご覧ください。

options 引数の省略

JavaScriptは、options がオブジェクトの場合にのみoptions.cause を読み取ろうとします。これによって、非標準の(第二引数に文字列を要求する)Error(message, fileName, lineNumber) という別のシグニチャとの曖昧さを避けます。options を省略するか、プリミティブ値をoptions として渡すか、cause プロパティを持たないオブジェクトを渡した場合、生成されたError オブジェクトはcause プロパティを持たないでしょう。

js
// optionsを省略するconst error1 = new Error("Error message");console.log("cause" in error1); // false// プリミティブ値を渡すconst error2 = new Error("Error message", "");console.log("cause" in error2); // false// causeプロパティを持たないオブジェクトを渡すconst error3 = new Error("Error message", { details: "http error" });console.log("cause" in error3); // false

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-error-constructor

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp