페이지 표시 설정

17 오류 처리 및 언어 확장

구현체는 관련 ECMAScript 언어 구문이 평가되는 시점에 대부분의 오류를 보고해야 합니다. 조기 오류는 오류를 포함하는 Script의 어떤 구문도 평가되기 전에 검출하고 보고할 수 있는 오류입니다. 조기 오류가 존재하면 해당 구문의 평가가 방지됩니다. 구현체는 ParseScript에서 해당 Script를 파싱하는 과정의 일부로 Script의 조기 오류를 보고해야 합니다. Module의 조기 오류는 Module이 평가될 시점에 보고되며 해당 Module은 절대로 초기화되지 않습니다. eval 코드의 조기 오류는 eval이 호출될 때 보고되며 eval 코드의 평가를 방지합니다. 조기 오류가 아닌 모든 오류는 런타임 오류입니다.

구현체는 이 명세의 “Static Semantics: 조기 오류” 하위 절에 나열된 조건이 발생하면 이를 조기 오류로 보고해야 합니다.

구현체는 컴파일러가 어떤 구문이 어떠한 상황에서도 오류 없이 실행될 수 없음을 증명할 수 있더라도 다른 종류의 오류를 조기 오류로 취급해서는 안 됩니다. 이러한 경우 구현체는 조기 경고를 낼 수 있지만 관련 구문이 실제로 실행될 때까지 오류를 보고해서는 안 됩니다.

구현체는 다음의 경우를 제외하고 명시된 대로 모든 오류를 보고해야 합니다:

17.1 금지된 확장

구현체는 다음과 같은 방식으로 이 명세를 확장해서는 안 됩니다: