Wyrzucanie różnych typów wyjątków w JavaScript

Wyrzućmy własny wyjątek i zobaczmy, jak zachowa się obiekt z błędem w tym przypadku:

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

Jak widzisz, typ naszego wyjątku to 'Error'. Taki sam typ będą miały wszystkie wyjątki wyrzucone w podobny sposób. Nie zawsze będzie to jednak wygodne, ponieważ jeśli możemy mieć kilka wyjątków, nie będziemy mogli ich odróżnić od siebie.

W JavaScript przewidziano rozwiązanie tego problemu: można wyrzucać wyjątki nie tylko typu Error, ale także dowolnego wbudowanego w JavaScript typu błędu, na przykład TypeError, SyntaxError, RangeError.

Dla przykładu wyrzućmy wyjątek typu SyntaxError:

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

Wyrzuć wyjątek z typem TypeError.

Задание 2

Wyrzuć wyjątek z typem SyntaxError i RangeError. Przechwyć te wyjątki za pomocą jednego bloku try. W bloku catch wyświetl różne komunikaty o błędzie dla wyjątków różnych typów.