Error Handling JavaScript-ում
Ծրագրավորման մեջ սխալները անխուսափելի են։ Կարևոր է իմանալ, թե ինչպես ճիշտ բռնել և կառավարել սխալները JavaScript-ում։ Այս հոդվածում կծանոթանանք հիմնական մեթոդներին՝ սկսած սկսնակներից մինչև ավելի առաջադեմ մոտեցումներ։
Կսովորենք ինչպես աշխատել `try...catch` բլոկների հետ, ինչպես ստեղծել սեփական սխալները, և ինչպես կառավարել ասինխրոն սխալները Promise-ների և async/await-ի միջոցով։
1. Սխալների կարող ես կառավարել `try...catch` բլոկով
try { // Կոդ, որը կարող է սխալ առաջացնել const result = someUndefinedFunction(); }
catch (error) { console.error('Սխալ:', error); }
Առավելությունները այս մեթոդի:
- Թույլ է տալիս շարունակել ծրագրի կատարումը սխալից հետո։
- Հնարավորություն է տալիս ցուցադրել օգտատիրոջ համար բարեկեցիկ հաղորդագրություններ։
2. Սեփական սխալների ստեղծում `throw` օգտագործելով
function divide(a, b) { if (b === 0) { throw new Error('Չի կարելի բաժանել 0-ի վրա'); } return a / b; }
try { divide(10, 0); } catch (error) { console.error(error.message); }
Առավելությունները այս մեթոդի:
- Կարելի է ծրագրում հատուկ իրավիճակների համար ձևավորել հատուկ սխալներ։
- Ապահովում է ավելի ճշգրիտ և կառավարվող սխալների հոսք։
3. Ասինխրոն սխալների կառավարում Promise-ներով
fetch('https://some-api.com/data')
.then(response => { if (!response.ok) { throw new Error('Ձախողված հարցում'); } return response.json(); })
.then(data => console.log(data))
.catch(error => console.error('սխալ:', error));
Առավելությունները այս մեթոդի:
- Հնարավոր է կառավարել միանգամից մի քանի ասինխրոն սխալներ։
- Կոդը մնում է ընթեռնելի և կառավարվող։
4. Ասինխրոն սխալների կառավարում `async/await`-ի հետ
async function getData() { try { const response = await fetch('https://some-api.com/data');
if (!response.ok) { throw new Error('Ձախողված հարցում'); }
const data = await response.json(); console.log(data); }
catch (error) { console.error('սխալ:', error); } }
getData();
Առավելությունները այս մեթոդի:
- Կոդը ավելի մոտ է սինխրոն կոդի ընթերցելությանը։
- Հեշտ է կառավարել nested (ներդրված) ասինխրոն գործողությունները։