JavaScript-да турли хил истисноларни ташлаш
Келинг, ўзимизнинг истисноимизни ташлаймиз ва бу ҳолатда хатолик объекти қандай ўзгарашини кузатамиз:
try {
throw new Error('истисно матни');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'истисно матни'
}
Кўриб турганингиздек, бизнинг истисноимизнинг тури - 'Error'.
Шунингдек қилиб ташланган ҳар қандай истиснонинг
тури ҳам шундай бўлади. Бирок, бу ҳар доим
қулай бўлмайди, чунки агар бизда бир нечта
истисно бўлса, биз уларни бир-биридан
ажрата олмаймиз.
JavaScript-да бу муаммони ҳал қилиш учун имконият мавжуд:
фақат Error туридаги эмас, балки JavaScript-нинг
ички хатолик турларининг ҳар қайсисидаги истисноларни
ташлаш мумкин, масалан TypeError,
SyntaxError, RangeError.
Келинг, мисол учун SyntaxError туридаги истиснони
ташлаймиз:
try {
throw new SyntaxError('истисно матни');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'истисно матни'
}
TypeError туридаги истисно ташланг.
SyntaxError ва RangeError турларидаги истисно ташланг.
Бу истисноларни бир try блоки ёрдамида ушланг.
catch блокида турли хил турдаги истиснолар учун
турли хил хатолик хабарларини чизаринг.