Å kaste egne typer unntak i JavaScript
Antall innebygde unntak i JavaScript er ikke så stort, og de kan som oftest ikke tilfredsstille alle våre behov for forskjellige typer unntak. Derfor har JavaScript en innebygd mulighet til å opprette unntak med sin egen type.
Det finnes forskjellige måter å gjøre dette på. Den
enkleste - er å sende et objekt
med nøklene name og message til throw:
try {
throw {name: 'MyError', message: 'unntakstekst'};
} catch (error) {
console.log(error.name); // 'MyError'
console.log(error.message); // 'unntakstekst'
}
Tidligere lagde vi en funksjon som kaster et unntak ved divisjon med null:
function div(a, b) {
if (b !== 0) {
return a / b;
} else {
throw new Error('feil ved divisjon med null');
}
}
Endre denne funksjonen slik at den kaster
et unntak med en type vi har funnet på,
for eksempel DivisionByZeroError.
Tidligere lagde du en funksjon som kaster unntak ved forsøk på å trekke ut kvadratroten av et negativt tall. Endre funksjonen din slik at den kaster et unntak med en type du har funnet på. Tenk nøye over navnet på unntaket, slik at dette navnet blir passende.