# Выбрасывание различных типов исключений в 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` выведите разные сообщения об ошибке для исключений разных типов.

←→
↑
en ru