⊗jsSpExcAT 144 of 294 menu

Utumiaji wa Aina za Isipokuwa katika JavaScript

Hebu tuchukulie tuna kazi inayokubali JSON yenye safu ya data na kuandika kila kipengele cha safu hiyo kwenye hifadhi ya ndani:

function saveData(json) { let arr = JSON.parse(json); for (let i = 0; i < arr.length; i++) { localStorage.setItem(i, arr[i]); } }

Katika kazi hii, hali ya kipekee inaweza kutokea katika sehemu mbili: wakati wa kuchambua JSON na wakati wa kujaribu kuhifadhi data kwenye hifadhi ya ndani.

Hebu tuchukulie, kwa mfano, kama utatuzi wa makosa tuliamua kuonyesha ujumbe fulani kuhusu matatizo:

try { saveData('{1,2,3,4,5}'); } catch (error) { alert('kuna matatizo fulani'); }

Ujumbe wetu, ni jambo jema, lakini hauwezi kutofautisha matatizo yaliyotokea. Kina mantiki zaidi kungekuwa ni kuonyesha ujumbe kuhusu ni tatizo gani hasa lilitokea.

Ili kufanya hivyo, tutatofautisha makosa yaliyotokea kwa jina:

try { saveData('{1,2,3,4,5}'); } catch (error) { if (error.name == 'QuotaExceededError') { alert('nafasi ya hifadhi imekwisha'); } if (error.name == 'SyntaxError') { alert('JSON siyo sahihi'); } }

Nakili msimbo wa kazi yangu saveData, kisha bila kuangalia msimbo wangu utekeleze utunzaji wa makosa nilioelezea.

Kwa makusudi, kwa mpangilio, unda hali za kipekee ambazo zinaweza kutokea katika kazi saveData.

pluzcbnidhu