Фрлање на сопствени типови на исклучоци во 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

Претходно направивте функција која фрла исклучок при обид за вадење корен од негативен број. Преправете ја вашата функција така што ќе фрла исклучок со вашмислен тип. Добро размислете за името на исклучокот, за да биде соодветно.