---
title: InternalError
slug: Web/JavaScript/Reference/Global_Objects/InternalError
tags:
- Class
- InternalError
- JavaScript
- Object
translation_of: Web/JavaScript/Reference/Global_Objects/InternalError
browser-compat: javascript.builtins.InternalError
---
{{JSRef}} {{non-standard_header}}
InternalError
객체는 JavaScript 엔진 내부에서 발생한 오류를 나타냅니다.
다음의 오류 예시의 경우는 일반적으로 어떤 값이 너무 큰 경우입니다.
- "too many switch cases", (swich case의 수가 너무 많음)
- "too many parentheses in regular expression", (정규표현식에 너무 많은 괄호가 있음)
- "array initializer too large", (배열 초기화 값이 너무 큼)
- "too much recursion". (너무 많은 재귀 호출)
생성자
- {{jsxref("InternalError/InternalError", "InternalError()")}}
- 새로운
InternalError
객체를 만듭니다.
인스턴스 속성
- {{jsxref("Error.prototype.message", "InternalError.prototype.message")}}
- 오류 메시지. {{jsxref("Error")}}로부터 상속되었습니다.
- {{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" 는 종료 조건입니다.
return;
// 어떤 코드
loop(x + 1); // 재귀 호출
}
loop(0);
이 조건을 매우 높은 값으로 설정하면 작동하지 않습니다:
function loop(x) {
if (x >= 1000000000000)
return;
// 어떤 코드
loop(x + 1);
}
loop(0);
// InternalError: too much recursion(너무 많은 재귀 호출)
더 많은 정보를 보려면 InternalError: too much recursion(너무 많은 재귀 호출)를 보시길 바랍니다.
명세
어떤 표준에도 속하지 않습니다.
브라우저 호환성
{{Compat}}
같이 보기