ページ表示設定

17 エラー処理と言語拡張

実装は、関連する ECMAScript 言語構文が評価される時点で、ほとんどのエラーを報告しなければなりません。早期エラーとは、エラーを含む Script 内のいずれの構文も評価される前に検出して報告できるエラーです。早期エラーが存在すると、その構文は評価されません。実装は、ParseScript でその Script を構文解析する一環として、Script 内の早期エラーを報告しなければなりません。Module 内の早期エラーは、その Module が評価される時点で報告され、Module は決して初期化されません。eval コード内の早期エラーは eval が呼び出された時点で報告され、eval コードの評価を妨げます。早期エラーでないすべてのエラーは実行時エラーです。

実装は、この仕様の「Static Semantics: 早期エラー」副節に列挙されている条件が発生した場合、それを早期エラーとして報告しなければなりません。

コンパイラーが、ある構文がいかなる状況でもエラーなしに実行できないことを証明できる場合であっても、実装はその他の種類のエラーを早期エラーとして扱ってはなりません。そのような場合、実装は早期警告を出してもかまいませんが、関連する構文が実際に実行されるまではエラーを報告するべきではありません。

実装は、次の場合を除いて、規定どおりにすべてのエラーを報告しなければなりません。

17.1 禁止される拡張

実装は、次の方法でこの仕様を拡張してはなりません。