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:

javascriptlet 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:

javascriptlet 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.

Задание 1

Yeterince büyük boyutta bir dize oluşturun ve onu yerel depolamaya yazmaya çalışın. Konsolda bir hata olacağını gözlemleyin.

Задание 2

Hatalı bir JSON'u ayrıştırmaya çalışın. Konsolda bir hata olacağını gözlemleyin.