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