Vyhadzovanie vlastných typov výnimiek v JavaScripte

Počet vstavaných výnimiek v JavaScripte nie je taký veľký a väčšinou nemôžu uspokojiť všetky naše potreby rôznych typov výnimiek. Preto je v JavaScripte vstavaná možnosť vytvárať výnimky s vlastným typom.

Existujú rôzne spôsoby, ako to urobiť. Najjednoduchší - do throw odovzdať objekt s kľúčmi name a message:

javascripttry {
  throw {name: 'MyError', message: 'text výnimky'};
} catch (error) {
  console.log(error.name); // 'MyError'
  console.log(error.message); // 'text výnimky'
}
Задание 1

Predtým sme vytvorili funkciu, ktorá vyhadzuje výnimku pri delení nulou:

javascriptfunction div(a, b) {
  if (b !== 0) {
    return a / b;
  } else {
    throw new Error('chyba delenia nulou');
  }
}

Upravte túto funkciu tak, aby vyhadzovala výnimku s nejakým vymysleným názvom typu, napríklad DivisionByZeroError.

Задание 2

Predtým ste robili funkciu, ktorá vyhadzuje výnimku pri pokuse o extrakciu odmocniny zo záporného čísla. Upravte vašu funkciu tak, aby vyhadzovala výnimku s vymysleným typom. Dobre premýšľajte nad názvom výnimky, aby bol tento názov výstižný.