Цитата:
Это самый главный момент - это именно RuntimeError, не ParseError (SyntaxError). Соответственно, если ещё и функция iff существует, то в этом месте ошибки вообще не будет (а вот такие ошибки уже являются ошибками логики программы - программа полностью рабочая и нерабочая одновременно). Причина и следствие ясны. Возможно ли как-то избавиться от RuntimeError (именно это я имел в виду, когда спрашивал про избавление от подобного типа ошибки), но не допустить ошибки в логике программы? Т.е. можно, конечно, объявить функцию iff, и RuntimeError-a не будет, но это ещё больше усугубит дело, т.к. ошибка не будет отловлена. Цитата:
|
Цитата:
|
Цитата:
Меня как раз интересует, можно ли сделать так, чтобы был SyntaxError на стадии парсинга? Чтобы мы отловили ошибку с iff ещё до запуска и не допустили случая логической ошибки, если будет существовать функция iff. В сущности, все подсказки были даны в заголовке темы (две из них уже разобраны). |
ну остается только механизм. это обьявление функции при которой ключевое слово funcion отсутсвует.
|
Цитата:
Также, задействовали "опечатку". Осталась "стилистика кода". Отмечу, что я обычно использую стилистику не ту, что была приведена в примере, хотя в текущем проекте у нас принята именно стилистика из примера. |
пока пришла в голову только использовать обязательно конечный else, таким образом вызывая именно ошибку парсинга
непонятно что делать с другими стандартными структырами типа циклов do,do-while, и условий |
Если не будет точки с запятой внутри фигурных скобок -
Цитата:
iff (!x) { x = 1; } |
Цитата:
хотя не факт ибо, такой подход все еще не решает проблему do-while x=false; doq=123; i=0; doq { alert(i);//в опере данный код показывает один alert, после чего процессор начинает показывать 100% нагруженность, без каких-либо изменений на странице скрипта //мозилла показывает ошибку missing ; before statement "doq {\n" i++; if(i==3) x = true; }while(!x); alert('end'); |
Цитата:
|
Цитата:
то есть в зависимости от контекста, фигурные скобочки будут использоваться так или иначе <script type="text/javascript"> var qwe={alert(1)};//missing : after property id, ибо объект </script> <script type="text/javascript"> {alert(1)};//выведет alert, ибо это блок кода </script> Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 02:43. |