Все исключения подразделяются на
системные и
пользовательские. Системные исключения генерируются исполняющей системой в процессе выполнения сценария, пользовательские — самим сценарием с помощью оператора
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