JavaScript'te İstisna Türlerinin Uygulanması
Bir parametre olarak bir dizi veri içeren JSON alan ve bu dizinin her bir öğesini yerel depolamaya yazan bir fonksiyonumuz olduğunu varsayalım:
function saveData(json) {
let arr = JSON.parse(json);
for (let i = 0; i < arr.length; i++) {
localStorage.setItem(i, arr[i]);
}
}
Bu fonksiyonda, istisnai bir durum iki yerde ortaya çıkabilir: JSON ayrıştırılırken ve veriler yerel depolamaya kaydedilmeye çalışılırken.
Örneğin, hata işleme olarak bazı sorunlar hakkında bir mesaj göstermeye karar verdiğimizi varsayalım:
try {
saveData('{1,2,3,4,5}');
} catch (error) {
alert('bazı sorunlar var');
}
Mesajımız elbette iyi, ancak ortaya çıkan sorunları hiçbir şekilde ayırt etmiyor. Hangi sorunun ortaya çıktığı hakkında bir mesaj göstermek daha mantıklı olurdu.
Bunun için ortaya çıkan hataları isimlerine göre ayırt edelim:
try {
saveData('{1,2,3,4,5}');
} catch (error) {
if (error.name == 'QuotaExceededError') {
alert('depolama alanı doldu');
}
if (error.name == 'SyntaxError') {
alert('geçersiz JSON');
}
}
Benim saveData fonksiyonumun kodunu kopyalayın,
ardından benim koduma bakmadan tarif ettiğim hata
işlemeyi uygulayın.
Özellikle sırayla, saveData fonksiyonunda
ortaya çıkabilecek istisnai durumlar yaratın.