InternalError

비표준: 이 기능은 비표준이므로 실제 프로덕션에서 사용하지 마세요. 모든 사용자 환경에서 작동하지 않을 수 도 있으며, 미래에 호환성 문제가 생길 수 있습니다.

InternalError 객체는 JavaScript 엔진 내부에서 발생한 오류를 나타냅니다.

다음의 오류 예시의 경우는 일반적으로 어떤 값이 너무 큰 경우입니다.

  • "too many switch cases", (swich case의 수가 너무 많음)
  • "too many parentheses in regular expression", (정규표현식에 너무 많은 괄호가 있음)
  • "array initializer too large", (배열 초기화 값이 너무 큼)
  • "too much recursion". (너무 많은 재귀 호출)

생성자

InternalError() (en-US)

새로운 InternalError 객체를 만듭니다.

인스턴스 속성

InternalError.prototype.message

오류 메시지. Error로부터 상속되었습니다.

InternalError.prototype.name

오류 이름. Error로부터 상속되었습니다.

InternalError.prototype.fileName

오류가 발생한 파일 경로. Error로부터 상속되었습니다.

InternalError.prototype.lineNumber

오류가 발생한 곳의 줄 번호. Error로부터 상속되었습니다.

InternalError.prototype.columnNumber

오류가 발생한 행의 열 번호. Error로부터 상속되었습니다.

InternalError.prototype.stack (en-US)

스택 추적. Error로부터 상속되었습니다.

예제

너무 많은 재귀 호출

이 재귀 함수는 종료 조건에 따라 10번 수행됩니다.

js
function loop(x) {
  if (x >= 10) {
    // "x >= 10" 는 종료 조건입니다.
    return;
  }
  // 어떤 코드
  loop(x + 1); // 재귀 호출
}
loop(0);

이 조건을 매우 높은 값으로 설정하면 작동하지 않습니다:

js
function loop(x) {
  if (x >= 1000000000000) return;
  // 어떤 코드
  loop(x + 1);
}
loop(0);

// InternalError: too much recursion(너무 많은 재귀 호출)

더 많은 정보를 보려면 InternalError: too much recursion(너무 많은 재귀 호출)를 보시길 바랍니다.

명세

어떤 표준에도 속하지 않습니다.

브라우저 호환성

BCD tables only load in the browser

같이 보기