← ECMAScript 2027 · İçindekiler
ECMA-262 · 18inci Baskı
17

Hata Yönetimi ve Dil Genişletmeleri

Bir gerçekleştirim (implementation), hataların çoğunu ilgili ECMAScript dil yapısı değerlendirildiği sırada rapor etmelidir. Erken hata (early error), hatayı içeren Script içindeki herhangi bir yapının değerlendirilmesinden önce tespit edilebilen ve rapor edilebilen bir hatadır. Bir erken hatanın varlığı, söz konusu yapının değerlendirilmesini engeller. Bir gerçekleştirim, bir Script içindeki erken hataları, o Script'in ParseScript içindeki ayrıştırılmasının bir parçası olarak rapor etmelidir. Bir Module içindeki erken hatalar, Module'ün değerlendirileceği noktada rapor edilir ve Module asla başlatılmaz (initialized). eval kodu içindeki erken hatalar, eval çağrıldığı sırada rapor edilir ve eval kodunun değerlendirilmesini engeller. Erken hata olmayan tüm hatalar çalışma zamanı (runtime) hatalarıdır.

Bir gerçekleştirim, bu şartnamenin bir “Statik Anlambilim: Erken Hatalar (Static Semantics: Early Errors)” alt maddesinde listelenen herhangi bir durumun gerçekleşmesini bir erken hata olarak rapor etmelidir.

Derleyici (compiler), bir yapının hiçbir koşulda hatasız çalışamayacağını kanıtlayabilse bile, bir gerçekleştirim diğer hata türlerini erken hatalar olarak ele almamalıdır. Bir gerçekleştirim böyle bir durumda erken bir uyarı (early warning) verebilir, ancak ilgili yapı gerçekten yürütülene kadar hatayı rapor etmemelidir.

Aşağıdakiler hariç olmak üzere, bir gerçekleştirim tüm hataları belirtildiği şekilde rapor etmelidir:

17.1 Yasaklanmış Genişletmeler (Forbidden Extensions)

Bir gerçekleştirim bu şartnameyi aşağıdaki şekillerde genişletmemelidir: