Ошибки
- 16 Ошибки
-
Реализация языка должна выдавать ошибки выполнения в тот момент, когда вычисляется значение соответствующей конструкции языка. Реализация может по своему усмотрению либо выдавать все синтаксические ошибки на этапе чтения программы, либо отложить выдачу синтаксической ошибки до момента исполнения соответствующей инструкции. Реализация может по своему усмотрению либо выдавать все синтаксические ошибки в eval-коде в момент вызова eval, либо отложить выдачу синтаксической ошибки до момента исполнения соответствующей инструкции.
Реализация может обрабатывать каждый экземпляр следующих типов ошибок исполнения как синтаксическую ошибку и, таким образом, выдавать её на этапе анализа кода:
- Некорректное использование return, break и continue.
- Использование свойства eval каким-либо другим способом, кроме прямого вызова.
- Ошибки в литералах регулярных выражений.
- Попытки вызвать свойство PutValue для значения, не являющегося ссылкой (например, выполнение присваивания 3=4).
Реализация не должна выдавать других ошибок выполнения на этапе анализа кода, даже если компилятор может доказать, что некоторая конструкция не может быть выполнена без ошибки при любых обстоятельствах. Реализация может в этом случае выдавать предварительное предупреждение, но не должна выдавать ошибки до действительного выполнения соответствующей конструкции.
Реализация должна выдавать все ошибки согласно описанию, за исключением следующего:
- Реализация может расширять синтаксис программы и регулярных выражений. Чтобы сделать это возможным, всем операциям (такие как вызов eval, использование литерала регулярного выражения или вызов функции Function или конструктора RegExp), которые могут бросать исключение SyntaxError, разрешается вести себя некоторым определённым реализацией способом, вместо того, чтобы бросать исключение SyntaxError, когда им встречается определённое реализацией расширение синтаксиса программы и регулярных выражений.
- Реализация может вводить дополнительные типы, значения, объекты, свойства и функции, помимо определённых в данной спецификации. Эти добавления могут ввести для некоторых конструкций языка (таких, как обращение к переменной в глобальной области видимости) некоторое зависящее от реализации поведение, вместо бросания ошибки (такой как ReferenceError).
- От реализации не требуется обнаруживать EvalError. Если она выбирает не обнаруживать EvalError, реализация должна позволить непрямое использование eval и/или присвоения свойству eval.
- Реализация может определить для методов toFixed, toExponential и toPrecision поведение, отличающееся от бросания RangeError, для тех случаев, когда значение аргумента fractionDigits или precision находится вне указанного диапазона.
|
Roksa lidzbark warminski
Roxa pl szczecin
Реализация может в этом случае выдавать предварительное предупреждение, но не должна выдавать ошибки до действительного выполнения соответствующей конструкции. foundation repair brentwood pa
Laziness, lack of motivation, lack of new ideas, lack of creativity... Why these problems are so common nowadays? snailbob.us
It encourages a playful engagement Geometry Dash with language, fostering a deeper understanding of word structures, phonetics, and meanings.
Отправить комментарий
Приветствуются комментарии:Для остальных вопросов и обсуждений есть форум.