Худоҳои истисноии худро дар JavaScript партофтан
Миқдори истисноҳои дар JavaScript дарсохта начунон бузург нест ва онҳо аксаран наметавонанд ҳама ниёзҳои мо дар намудҳои гуногуни истисноҳоро қонеъ кунанд. Аз ин рӯ, дар JavaScript имконияти сохтани истисноҳо бо намуди худ дар дохил ҷой дода шудааст.
Тарзҳои гуногуни иҷрои ин вуҷуд доранд. Соддатаринаш -
дар throw объект бо калидҳои
name ва message гузарондан:
try {
throw {name: 'MyError', message: 'матини истисно'};
} catch (error) {
console.log(error.name); // 'MyError'
console.log(error.message); // 'матини истисно'
}
Пештар мо функсияеро сохтем, ки истисноро вақти тақсим бар сифр мепартофт:
function div(a, b) {
if (b !== 0) {
return a / b;
} else {
throw new Error('хатои тақсим бар сифр');
}
}
Ин функсияро тавре тағйир диҳед, ки истисноро бо
намуди ихтироъкардаи мо бипартофад,
масалан, DivisionByZeroError.
Пештар шумо функсияе сохтед, ки истисно мепартофт дар ҳолати кӯшиши реша гирифтан аз адади манфӣ. Функсияи худро тавре тағйир диҳед, ки он истисноро бо намуди ихтироъкардаи шумо бипартофад. Дар бораи номи истисно хуб фикр кунед, то ин ном муваффақ бошад.