Какой тип исключения должен быть добавлен в JavaScript? - PullRequest
6 голосов
/ 08 ноября 2010

Какой тип объекта должен быть брошен в JavaScript?

Я вижу много примеров , которые выбрасывают простой старый string, и, кажется, существует полустандартный Error тип.Должен ли я предпочесть одно другому?

1 Ответ

7 голосов
/ 08 ноября 2010

Объект Error и конкретные объекты ошибок, такие как TypeError, полностью стандартизированы в спецификации ECMAScript. Однако в большинстве браузеров есть общие нестандартные свойства этих объектов.

Вы можете бросать все, что захотите, если ваш код обработки ошибок знает, что делать с объектами, которые вы выбрасываете, но есть преимущества в использовании Error объектов:

  • Согласованность с обработкой ошибок, генерируемых собственным кодом, например, со свойством message, поэтому вам не нужно писать другой код для обработки собственных ошибок и ваших собственных ошибок;
  • Error объекты в Mozilla и других браузерах имеют очень полезные нестандартные свойства, такие как fileName, lineNumber и stack. Вы получаете их только на Error объектах, и они могут быть очень полезны для отладки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...