Oman poikkeustyyppien heittäminen JavaScriptissä
JavaScriptiin sisäänrakennettujen poikkeusten määrä ei ole kovin suuri, ja ne eivät useinkaan pysty täyttämään kaikkia tarpeitamme erilaisille poikkeustyypeille. Siksi JavaScriptissä on sisäänrakennettu mahdollisuus luoda poikkeuksia omalla tyypillään.
On olemassa erilaisia tapoja tehdä tämä. Yksinkertaisin
- välittää throw-komennolla objekti,
jossa on avaimet name ja message:
try {
throw {name: 'MyError', message: 'poikkeuksen teksti'};
} catch (error) {
console.log(error.name); // 'MyError'
console.log(error.message); // 'poikkeuksen teksti'
}
Aikaisemmin teimme funktion, joka heittää poikkeuksen nollalla jaettaessa:
function div(a, b) {
if (b !== 0) {
return a / b;
} else {
throw new Error('nollalla jakamisen virhe');
}
}
Muokkaa tätä funktiota siten, että se heittää
poikkeuksen jollain keksimällämme
tyypillä, esimerkiksi DivisionByZeroError.
Aikaisemmin teit funktion, joka heitti poikkeuksen kun yritit ottaa neliöjuuren negatiivisesta luvusta. Muokkaa funktiotasi siten, että se heittää poikkeuksen keksimälläsi tyypillä. Mieti hyvin poikkeuksen nimeä, jotta nimi olisi onnistunut.