Erinevat tüüpi erandite viskamine JavaScriptis

Viskan oma erandi ja vaatame, kuidas objekt veaga käitub sellisel juhul:

javascripttry {
  throw new Error('erandi tekst');
} catch (error) {
  console.log(error.name); // 'Error'
  console.log(error.message); // 'erandi tekst'
}

Nagu näete, on meie erandi tüüp - 'Error'. Sama tüüpi on kõik sarnasel viisil visatud erandid. See ei pruugi aga alati olla mugav, kuna kui meil võib olla mitu erinevat erandit, ei suuda me neid üksteisest eristada.

JavaScriptis on sellele probleemile lahendus: saab visata erandeid mitte ainult tüübiga Error, vaid ka mis tahes JavaScripti sisseehitatud veatüübiga, näiteks TypeError, SyntaxError, RangeError.

Viskan näiteks SyntaxError tüüpi erandi:

javascripttry {
  throw new SyntaxError('erandi tekst');
} catch (error) {
  console.log(error.name); // 'SyntaxError'
  console.log(error.message); // 'erandi tekst'
}
Задание 1

Viskage erand tüübiga TypeError.

Задание 2

Viskage erandid tüüpidega SyntaxError ja RangeError. Püüdke need erandid ühe try ploki abil. catch plokis kuvage erinevad veateated erinevate tüüpide erandite jaoks.