Att kasta sina egna undantagstyper i JavaScript
Antalet inbyggda undantag i JavaScript är inte särskilt stort och de kan oftast inte tillgodose alla våra behov av olika typer av undantag. Därför har JavaScript en inbyggd möjlighet att skapa undantag med en egen typ.
Det finns olika sätt att göra detta. Det enklaste
är att skicka ett objekt
med nycklarna name och message till throw:
try {
throw {name: 'MyError', message: 'undantagstext'};
} catch (error) {
console.log(error.name); // 'MyError'
console.log(error.message); // 'undantagstext'
}
Tidigare skapade vi en funktion som kastar ett undantag vid division med noll:
function div(a, b) {
if (b !== 0) {
return a / b;
} else {
throw new Error('fel vid division med noll');
}
}
Ändra denna funktion så att den kastar
ett undantag med en egen typ som vi hittar på,
till exempel DivisionByZeroError.
Tidigare gjorde du en funktion som kastar ett undantag när du försöker ta roten ur ett negativt tal. Ändra din funktion så att den kastar ett undantag med en typ du hittat på. Tänk noga på namnet på undantaget, så att namnet är lämpligt.