Metanje različnih vrst izjem v JavaScript
Vrzimo svojo izjemo in poglejmo, kako se bo obnašal objekt z napako v tem primeru:
try {
throw new Error('besedilo izjeme');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'besedilo izjeme'
}
Kot vidite, je tip naše izjeme - 'Error'.
Enak tip bodo imele vse izjeme, vržene
na podoben način. Vendar to ne bo vedno
priročno, saj, če imamo lahko
več izjem, jih ne bomo mogli razlikovati
drugo od drugega.
V JavaScript je predvidena rešitev te težave:
lahko mečemo izjeme ne le tipa
Error, temveč tudi katerega koli vgrajenega v JavaScript
tipa napake, na primer TypeError,
SyntaxError, RangeError.
Za primer vrzimo izjemo tipa
SyntaxError:
try {
throw new SyntaxError('besedilo izjeme');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'besedilo izjeme'
}
Vrzite izjemo s tipom TypeError.
Vrzite izjemo s tipom SyntaxError
in RangeError. Ujemite te izjeme
z enim blokom try. V bloku catch
izpišite različna sporočila o napaki za izjeme
različnih tipov.