⊗jsSpExcThrT 146 of 294 menu

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 блокида турли хил турдаги истиснолар учун турли хил хатолик хабарларини чизаринг.

hifrenidbn