Пользовательские ошибки, расширение Error
- Мы можем наследовать свои классы ошибок от
Errorи других встроенных классов ошибок, но нужно позаботиться о свойстве name и не забыть вызватьsuper. - Мы можем использовать
instanceofдля проверки типа ошибок. Это также работает с наследованием. Но иногда у нас объект ошибки, возникшей в сторонней библиотеке, и нет простого способа получить класс. Тогда для проверки типа ошибки можно использовать свойствоname. - Обёртывание исключений является распространённой техникой: функция ловит низкоуровневые исключения и создаёт одно «высокоуровневое» исключение вместо разных низкоуровневых. Иногда низкоуровневые исключения становятся свойствами этого объекта, как
err.causeв примерах выше, но это не обязательно.
🚀 Источник: https://learn.javascript.ru/custom-errors