Мне несколько раз говорили, что это "плохо" - использовать исключения в javascript. На самом деле не сказали, почему это плохо, но вместо этого я должен использовать вместо этого break, continue и return.
Что нормально, кроме того, что мне не нужно возвращаться / прерываться / продолжать, мне нужно бросать. У меня есть случай, когда у меня есть функции итератора, вложенные друг в друга, каждая возвращает следующее значение при вызове, поэтому я использую исключение, чтобы указать, что итерировать больше нечего: кажется логичным способом сделать это, делает код чистым и отлично работает на практике. Есть ли причина не использовать исключения в js?
Второй вопрос, когда я использую исключения, какие объекты я должен бросать? В случае ошибок я, очевидно, выбрасываю экземпляры Error, но в особых случаях (остановка итерации и т. Д.) Мне нужен был быстрый способ проверки этих конкретных исключений, и я просто определил пустую именованную функцию (function StopIteration () }) и так как функции сравниваются по ссылке, я всегда могу проверить, является ли это моим особым случаем, или я должен просто перебросить. Есть ли лучший или более нелепый способ сделать это в JS? Должен ли я действительно попытаться изменить свой код, чтобы избежать использования исключений?
Спасибо