⊗jsSpExcAT 144 of 294 menu

Երևակայական տիպերի կիրառությունը JavaScript-ում

Ենթադրենք, մենք ունենք ֆունկցիա, որն ընդունում է JSON տվյալների զանգվածով և գրում է այդ զանգվածի յուրաքանչյուր տարր լոկալ պահեստում.

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

Այս ֆունկցիայում Երևակայական իրավիճակ կարող է առաջանալ երկու տեղում. JSON-ի վերլուծության ժամանակ և տվյալները լոկալ պահեստում պահելու փորձի ժամանակ։

Օրինակ, ենթադրենք, որ սխալների մշակումը մենք որոշել ենք իրականացնել որոշակի հաղորդագրություն ցուցադրելով.

try { saveData('{1,2,3,4,5}'); } catch (error) { alert('ինչ-որ խնդիրներ'); }

Մեր հաղորդագրությունը, իհարկե, լավ է, բայց այն ոչ մի կերպ չի տարբերակում առաջացած խնդիրները։ Ավելի տրամաբանական կլիներ ցուցադրել հաղորդագրություն այն մասին, թե կոնկրետ ինչ խնդիր է առաջացել։

Դրա համար տարբերակենք առաջացած սխալները ըստ անվան.

try { saveData('{1,2,3,4,5}'); } catch (error) { if (error.name == 'QuotaExceededError') { alert('պահեստի տարածքը սպառվել է'); } if (error.name == 'SyntaxError') { alert('անվավեր JSON'); } }

Պատճենեք իմ saveData ֆունկցիայի կոդը, այնուհետև, առանց իմ կոդին նայելու, իրականացրեք իմ կողմից նկարագրված սխալների մշակումը։

Հատուկ, հերթականությամբ, ստեղծեք Երևակայական իրավիճակներ, որոնք կարող են առաջանալ saveData ֆունկցիայում։

kkdenlptby