Необязательное сообщение об ошибке с дополнительной информацией об исключении.
Возвращаемое значение
Вновь созданный объект
Error
. Если задан аргумент сообщение, объект
Error
будет использовать его в качестве значения своего свойства message; в противном случае он возьмет в качестве значения этого свойства строку по умолчанию, определенную реализацией. Когда конструктор
Error
вызывается как функция (без оператора
new
), он ведет себя так же, как при вызове с оператором
new
.
Свойства
message
Сообщение об ошибке с дополнительной информацией об исключении. В этом свойстве хранится строка, переданная конструктору, или строка по умолчанию, определяемая реализацией.
name
Строка, задающая тип исключения. Для экземпляров класса Error и всех его подклассов это свойство задает имя конструктора, с помощью которого был создан экземпляр.
Методы
toString
Возвращает строку, определенную в реализации, которая представляет этот объект
Error
.
Описание
Экземпляры класса
Error
представляют ошибки или исключения и обычно используются с инструкциями
throw
и
try/catch
. Свойство
name
определяет тип исключения, а посредством свойства
message
можно создать и отправить пользователю сообщение с подробной информацией об исключении.
Интерпретатор JavaScript никогда не создает объект
Error
непосредственно. Вместо этого он создает экземпляры одного из подклассов
Error
, таких как
SyntaxError
или
RangeError
. В ваших программах для предупреждения об исключении может быть удобнее создавать объекты
Error
или просто выдавать сообщение об ошибке или ее код в виде элементарного строкового или числового значения.
Обратите внимание: спецификация ECMAScript определяет для класса
Error
метод
toString
(он
наследуется всеми подклассами
Error
), но не требует, чтобы этот метод возвращал строку, содержащую значение свойства
message
. Поэтому не следует ожидать, что метод
toString
преобразует объект
Error
в строку, понятную человеку. Чтобы отобразить для пользователя сообщение об ошибке, необходимо явно использовать свойства
name
и message объекта
Error
.
Пример
Предупредить об исключении можно так:
function factorial(x) {
if (х < 0)
throw new Error("factorial: x должно быть >= 0");
if (x <= 1)
return 1;
else
return x * factorial(x1);
}
Перехватывая исключение, можно сообщить о нем пользователю следующим способом (с помощью клиентского метода