Все исключения подразделяются на системные и пользовательские. Системные исключения генерируются исполняющей системой в процессе выполнения сценария, пользовательские — самим сценарием с помощью оператора throw. Стандарт ECMAScript предусматривает следующие виды системных исключений:
Исключения ECMAScript
Название Описание
EvalError Недопустимое обращение к функции eval.
RangeError Числовое значение вне допустимого диапазона.
ReferenceError Недопустимое значение ссылки.
SyntaxError Синтаксическая ошибка.
TypeError Несовместимые типы операндов.
URIError Недопустимое обращение к функции работы с URI.
Объекты Error соответственно также могут быть созданы исполняющей системой или сценарием. Конструктор пользовательского объекта Error имеет вид new Error(message), где message — текст сообщения об ошибке.
Свойства объекта Error
Свойство Описание Член прототипа
constructor Конструктор, который создал объект. Да
message Текст сообщения об ошибке. Да
name Название исключения. Да
prototype Ссылка на прототип класса объектов. Да
Методы объекта Error
Свойство Описание Член прототипа
toString Возвращает строку "[object Error]". Да

Свойство message

Синтаксис: объект.message
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Значением свойства message является сообщение об ошибке данного объекта. Это свойство является свойством объекта по умолчанию.

Свойство name

Синтаксис: объект.name
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Значением свойства name является название данного объекта. В пользовательских объектах оно содержит строку "Error", а в системных объектах — строку, содержащую тип исключения согласно Таблице Исключения ECMAScript