Худоҳои истисноии худро дар JavaScript партофтан

Миқдори истисноҳои дар JavaScript дарсохта начунон бузург нест ва онҳо аксаран наметавонанд ҳама ниёзҳои мо дар намудҳои гуногуни истисноҳоро қонеъ кунанд. Аз ин рӯ, дар JavaScript имконияти сохтани истисноҳо бо намуди худ дар дохил ҷой дода шудааст.

Тарзҳои гуногуни иҷрои ин вуҷуд доранд. Соддатаринаш - дар throw объект бо калидҳои name ва message гузарондан:

javascripttry {
  throw {name: 'MyError', message: 'матини истисно'};
} catch (error) {
  console.log(error.name); // 'MyError'
  console.log(error.message); // 'матини истисно'
}
Задание 1

Пештар мо функсияеро сохтем, ки истисноро вақти тақсим бар сифр мепартофт:

javascriptfunction div(a, b) {
  if (b !== 0) {
    return a / b;
  } else {
    throw new Error('хатои тақсим бар сифр');
  }
}

Ин функсияро тавре тағйир диҳед, ки истисноро бо намуди ихтироъкардаи мо бипартофад, масалан, DivisionByZeroError.

Задание 2

Пештар шумо функсияе сохтед, ки истисно мепартофт дар ҳолати кӯшиши реша гирифтан аз адади манфӣ. Функсияи худро тавре тағйир диҳед, ки он истисноро бо намуди ихтироъкардаи шумо бипартофад. Дар бораи номи истисно хуб фикр кунед, то ин ном муваффақ бошад.