Aruncarea diferitelor tipuri de excepții în JavaScript
Să aruncăm propria noastră excepție și să vedem cum se va comporta obiectul cu eroarea în acest caz:
try {
throw new Error('textul excepției');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'textul excepției'
}
După cum vedeți, tipul excepției noastre este 'Error'.
Același tip va fi pentru orice excepții aruncate
în mod similar. Acest lucru, totuși, nu va fi
întotdeauna convenabil, deoarece, dacă putem avea
mai multe excepții, nu le vom putea distinge
unele de altele.
În JavaScript este prevăzută o soluție pentru această problemă:
se pot arunca excepții nu doar de tipul
Error, ci și de orice tip de eroare
încorporat în JavaScript, de exemplu, TypeError,
SyntaxError, RangeError.
Să aruncăm, de exemplu, o excepție de tip
SyntaxError:
try {
throw new SyntaxError('textul excepției');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'textul excepției'
}
Aruncați o excepție de tipul TypeError.
Aruncați o excepție de tipul SyntaxError
și RangeError. Prindeți aceste excepții
cu ajutorul unui singur bloc try. În blocul catch
afișați mesaje diferite de eroare pentru excepțiile
de tipuri diferite.