JavaScript'ta Ortaya Çıkan Durum Türleri
JavaScript'te istisnaların ortaya çıktığı çok az durum vardır. İlk olarak, çünkü ortaya çıkacakları çok az yer var.
İkinci olarak, dilin kendisi "affedici" olduğu için: Sıfıra bölme veya hatalı HTML kodu gibi birçok şeye göz yumar. Yüklemek istediğiniz resmin yanlış yolunu bile belirtseniz, JavaScript bunu bağışlar ve bir istisna olarak kabul etmez.
Ancak, istisnai durumlar vardır. JavaScript'te istisnalarla çalışmayı öğrenmek için en basit iki tanesini inceleyeceğiz.
İlk istisna, hatalı bir JSON'u ayrıştırmak istediğimizde ortaya çıkar:
let data = JSON.parse('{1,2,3,4,5}'); // bu json hatalıdır
İkinci istisna ise, sitemiz için ayrılan yerel
depolama alanı dolduğunda ortaya çıkar
(5 megabayttan fazla). Hadi böyle bir
istisnayı yapay olarak tetikleyelim:
let str = '';
for (let i = 1; i <= 6 * 10 ** 6; i++) { // 5 mb'tan büyük bir dize oluştur
str += '+';
}
localStorage.setItem('key', str); // depolamaya yazmaya çalış
JavaScript bu tür istisnai durumlara nasıl tepki verir? Basitçe konsola bir hata mesajı döker ve betiğin daha fazla çalışmasını durdurur.
Biz programcıların görevi, böyle bir durumu
yakalamak ve onunla bir şekilde başa çıkmak,
programın çalışmasını tamamen durdurmasına
izin vermemektir. Bunun için bir sonraki
derslerde inceleyeceğimiz özel try-catch
yapısı mevcuttur.
Yeterince büyük boyutta bir dize oluşturun ve onu yerel depolamaya yazmaya çalışın. Konsolda bir hata olacağını gözlemleyin.
Hatalı bir JSON'u ayrıştırmaya çalışın. Konsolda bir hata olacağını gözlemleyin.