Выкідванне розных тыпаў выключэнняў у JavaScript

Давайце выкінем сваё выключэнне і паглядзім, як будзе весці сябе аб'ект з памылкай у гэтым выпадку:

javascripttry {
  throw new Error('тэкст выключэння');
} catch (error) {
  console.log(error.name); // 'Error'
  console.log(error.message); // 'тэкст выключэння'
}

Як вы бачыце, тып нашага выключэння - 'Error'. Такі ж тып будзе ў любых выключэнняў, выкінутых падобным чынам. Гэта, аднак, не заўсёды будзе зручна, так як, калі ў нас могуць быць некалькі выключэнняў, мы не зможам іх адрозніць адзін ад аднаго.

У JavaScript прадугледжана рашэнне гэтай праблемы: можна выкідваць выключэнні не толькі тыпу Error, але і любога ўбудаванага ў JavaScript тыпу памылкі, напрыклад, TypeError, SyntaxError, RangeError.

Давайце для прыкладу выкінем выключэнне тыпу SyntaxError:

javascripttry {
  throw new SyntaxError('тэкст выключэння');
} catch (error) {
  console.log(error.name); // 'SyntaxError'
  console.log(error.message); // 'тэкст выключэння'
}
Задание 1

Выкіньце выключэнне з тыпам TypeError.

Задание 2

Выкіньце выключэнне з тыпам SyntaxError і RangeError. Злавіце гэтыя выключэнні з дапамогай аднаго блока try. У блоке catch выведзіце розныя паведамленні пра памылку для выключэнняў розных тыпаў.