InternalError

非標準
この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

InternalError オブジェクト は、 JavaScript エンジンで内部的に発生したエラーを示します。

これは、以下のように何かが大きすぎる時に発生します。

  • "switch case が多すぎる"、
  • "正規表現内の括弧が多すぎる"、
  • "配列の初期化子が大きすぎる"、
  • "再帰が深すぎる"。

コンストラクター

InternalError()
新しい InternalError オブジェクトを生成します。

インスタンスプロパティ

InternalError.prototype.message
エラーメッセージです。 Error.prototype.message から継承しています。
InternalError.prototype.name
エラー名です。 Error から継承しています。
InternalError.prototype.fileName
このエラーが発生したファイルのパスです。 Error から継承しています。
InternalError.prototype.lineNumber
このエラーが発生したファイル内の行番号です。 Error から継承しています。
InternalError.prototype.columnNumber
このエラーが発生した行内の桁番号です。 Error から継承しています。
InternalError.prototype.stack
スタックトレースです。 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. を参照してください。

仕様書

仕様の一部ではありません。

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
InternalError
非標準
Chrome 未対応 なしEdge 未対応 なしFirefox 完全対応 1IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 4Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なしnodejs 未対応 なし
InternalError() constructor
非標準
Chrome 未対応 なしEdge 未対応 なしFirefox 完全対応 1IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 4Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なしnodejs 未対応 なし

凡例

完全対応  
完全対応
未対応  
未対応
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。

関連情報