13 / 37
В чём разница между throw new Error() и throw 'строка'?
throw new Error('сообщение') создаёт полноценный объект ошибки со стектрейсом, свойствами name, message и поддержкой instanceof. throw 'строка' выбрасывает просто строку — без стектрейса, без имени, без структуры. В catch ты получишь обычную строку, у которой нет .stack, и отладка превращается в кошмар. Всегда выбрасывай объекты Error.