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:
try {
throw {name: 'MyError', message: 'text výnimky'};
} catch (error) {
console.log(error.name); // 'MyError'
console.log(error.message); // 'text výnimky'
}
Predtým sme vytvorili funkciu, ktorá vyhadzuje výnimku pri delení nulou:
function 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.
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ý.