Выкідванне розных тыпаў выключэнняў у 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
выведзіце розныя паведамленні пра памылку для выключэнняў
розных тыпаў.