Oma tüüpi erandite viskamise JavaScriptis

JavaScripti sisse ehitatud erandite arv ei ole nii suur ja need ei suuda enamasti rahuldada kõiki meie vajadusi erinevate erandite tüüpide järele. Seetõttu on JavaScripti sisse ehitatud võimalus luua erandeid oma tüübiga.

Selleks on erinevaid viise. Kõige lihtsam - anda throw-ile objekt võtmetega name ja message:

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

Varem tegime funktsiooni, mis viskab erandi nulliga jagamisel:

javascriptfunction div(a, b) {
  if (b !== 0) {
    return a / b;
  } else {
    throw new Error('nulliga jagamise viga');
  }
}

Muutke seda funktsiooni nii, et see viskaks erandi mingi meie poolt mõeldud tüübiga, näiteks DivisionByZeroError.

Задание 2

Varem tegite funktsiooni, mis viskab erandi negatiivsest arvust juure võtmisel. Muutke oma funktsiooni nii, et see viskaks erandi teie poolt mõeldud tüübiga. Mõelge hoolikalt erandi nime üle, et see nimi oleks sobiv.