Для чего нужен throw в JS?
function скажиМяу(кот) {
  if (!кот.сказатьМяу) {
    throw new Error('это не кот и он не умеет говорить мяу, дурень');
  }
  кот.сказатьМяу()
}
вот примерно для этого
Предлагаю посмотреть на вопрос шире – throw используется не только в JS, но при этом для одних и тех же целей. Тут уже есть хорошие ответы:
- Зачем нужны исключения?
- https://sprosi.pro/questions/3445/isklyucheniya-za...
- https://ru.wikipedia.org/wiki/Обработка_исключений
- https://ravesli.com/urok-181-isklyucheniya-zachem-...