---
title: InternalError
slug: Web/JavaScript/Reference/Global_Objects/InternalError
tags:
- Class
- InternalError
- JavaScript
- Object
translation_of: Web/JavaScript/Reference/Global_Objects/InternalError
---
{{JSRef}} {{non-standard_header}}
InternalError
オブジェクト は、 JavaScript エンジンで内部的に発生したエラーを示します。
これは、以下のように何かが大きすぎる時に発生します。
- "switch case が多すぎる"、
- "正規表現内の括弧が多すぎる"、
- "配列の初期化子が大きすぎる"、
- "再帰が深すぎる"。
コンストラクター
- {{jsxref("InternalError/InternalError", "InternalError()")}}
- 新しい
InternalError
オブジェクトを生成します。
インスタンスプロパティ
- {{jsxref("Error.prototype.message", "InternalError.prototype.message")}}
- エラーメッセージです。 {{jsxref("Error.prototype.message")}} から継承しています。
- {{jsxref("Error.prototype.name", "InternalError.prototype.name")}}
- エラー名です。 {{jsxref("Error")}} から継承しています。
- {{jsxref("Error.prototype.fileName", "InternalError.prototype.fileName")}}
- このエラーが発生したファイルのパスです。 {{jsxref("Error")}} から継承しています。
- {{jsxref("Error.prototype.lineNumber", "InternalError.prototype.lineNumber")}}
- このエラーが発生したファイル内の行番号です。 {{jsxref("Error")}} から継承しています。
- {{jsxref("Error.prototype.columnNumber", "InternalError.prototype.columnNumber")}}
- このエラーが発生した行内の桁番号です。 {{jsxref("Error")}} から継承しています。
- {{jsxref("Error.prototype.stack", "InternalError.prototype.stack")}}
- スタックトレースです。 {{jsxref("Error")}} から継承しています。
例
深すぎる再帰
この再帰関数は終了条件によって、10回実行されます。
function loop(x) {
if (x >= 10) // "x >= 10" is the exit condition
return;
// do stuff
loop(x + 1); // the recursive call
}
loop(0);
この条件を非常に大きな値に設定した場合、動作しなくなります。
function loop(x) {
if (x >= 1000000000000)
return;
// do stuff
loop(x + 1);
}
loop(0);
// InternalError: too much recursion
詳しくは、 InternalError: too much recursion. を参照してください。
仕様書
仕様の一部ではありません。
ブラウザーの互換性
{{Compat("javascript.builtins.InternalError")}}
関連情報