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