Dažādu tipu izņēmumu izmešana JavaScript
Izmetīsim savu izņēmumu un paskatīsimies, kā šajā gadījumā uzvedīsies kļūdas objekts:
try {
throw new Error('izņēmuma teksts');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'izņēmuma teksts'
}
Kā redzat, mūsu izņēmuma tips ir 'Error'.
Tāds pats tips būs visiem izņēmumiem, kas izmesti
līdzīgā veidā. Tomēr tas ne vienmēr būs ērti,
jo, ja mums var būt vairāki izņēmumi, mēs nevarēsim
tos atšķirt viens no otra.
JavaScript paredz risinājumu šai problēmai:
var izmest ne tikai Error tipa izņēmumus,
bet arī jebkuru iebūvēto JavaScript kļūdu tipu,
piemēram, TypeError,
SyntaxError, RangeError.
Izmetīsim kā piemēru SyntaxError tipa izņēmumu:
try {
throw new SyntaxError('izņēmuma teksts');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'izņēmuma teksts'
}
Izmetiet izņēmumu ar tipu TypeError.
Izmetiet izņēmumu ar tipu SyntaxError
un RangeError. Noķeriet šos izņēmumus
ar vienu try bloku. catch blokā
izvadiet dažādus kļūdu ziņojumus dažādu tipu izņēmumiem.