Különböző típusú kivételek dobása JavaScriptben
Dobjunk saját kivételt és nézzük meg, hogyan viselkedik a hibaobjektum ebben az esetben:
try {
throw new Error('kivétel szövege');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'kivétel szövege'
}
Amint látod, a kivételünk típusa - 'Error'.
Ugyanilyen típusúak lesznek az összes hasonló módon
dobott kivétel. Ez azonban nem mindig lesz
kényelmes, mert ha több kivételünk is lehet,
nem fogjuk tudni megkülönböztetni őket
egymástól.
A JavaScriptben van megoldás erre a problémára:
nem csak Error típusú kivételeket lehet dobni,
hanem bármely beépített JavaScript
hibatípust, például TypeError,
SyntaxError, RangeError.
Dobjunk példaként egy SyntaxError típusú
kivételt:
try {
throw new SyntaxError('kivétel szövege');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'kivétel szövege'
}
Dobj egy TypeError típusú kivételt.
Dobj SyntaxError és RangeError
típusú kivételeket. Kapd el ezeket a kivételeket
egyetlen try blokk segítségével. A catch
blokkban jeleníts meg különböző hibaüzeneteket a különböző típusú
kivételekhez.