Объект Error

Объекты Error создаются при возникновении ошибок в процессе выполнения сценария и содержат информацию об ошибке, которая используется операторами обработки исключений.

Синтаксис

new Error(message)

Парамнтры

message
сообщение об ошибке

Описание

Ошибки выполнения яваскрипта приводят к генерации исключений в виде объектов Error.

Существуют следующие базовые подклассы Error:

EvalErrorОшибка при выполнении eval()
RangeErrorЭта ошибка происходит, когда переданный параметр лежит за границами допустимого диапазона
ReferenceErrorОшибка при разыменовании неверной ссылки
SyntaxErrorСинтаксическая ошибка, которая произошла при разборе кода, переданного eval()
TypeErrorПеременная или параметр неправильного типа
URIErrorОшибка происходит, когда encodeURI() или decodeURI() вызваны с неправильными параметрами

Пример: Ошибка при выполнении

try {
    eval(someThing)
} catch (e) {
    if (e instanceof EvalError) {
        alert("Ошибка при выполнении: " + e.message);
    } else {
        throw(e)
    }
}
Пример: Пользовательское исключение
try {
    throw new Error("Упс!");
} catch (e) {
    alert(e.name + ": " + e.message);
}

Свойствa

Свойство message

Это свойство содержит краткое описание ошибки. Как правило, это основной источник информации о произошедшей ошибке.

var e = new Error("Произошла проблема");
// e.message = Произошла проблема
throw e;

Свойство name

Это свойство содержит название типа ошибки

По умолчанию - объекты класса Error получают значение "Error". Однако, можно его поменять на свое.

var e = new Error("Malformed input") // e.name = "Error"
 
e.name = "ParseError" // e.toString() вернет  "ParseError: Malformed input"

EvalError

Синтаксис

new EvalError(message)

Параметры

message
сообщение об ошибке

Описание

Ошибка возникает при неправильном использовании функции eval. Для синтаксических ошибок предусмотрен тип SyntaxError.

RangeError

Синтаксис

new RangeError(message)

Параметры

message
сообщение об ошибке

Описание

Ошибка возникает при попытке передать качестве аргумента функции число, выходящее за рамки допустимого числового диапазона.

Она может произойти при попытке создать массив некорректной длины с помощью конструктора Array или при передаче плохих значений числовым функциям toExponential, toFixed, toPrecision.

ReferenceError

Синтаксис

new ReferenceError(message)

Параметры

message
сообщение об ошибке

Описание

Ошибка ReferenceError генерируется при попытке обратиться к переменной, которая не была объявлена.

SyntaxError

Синтаксис

new SyntaxError(message)

Параметры

message
сообщение об ошибке

Описание

Ошибка SyntaxError генерируется, когда движок JavaScript при разборе кода встречает символы или конструкции, не соответствующие синтаксису языка.

TypeError

Синтаксис

new TypeError(message)

Параметры

message
сообщение об ошибке

Описание

Ошибка TypeError возникает, когда операнд или аргумент, переданный функции, несовместим с типом, который данный оператор или функция ожидают получить."

URIError

Синтаксис

new URIError(message)

Параметры

message
сообщение об ошибке

Описание

Ошибка URIError инициируется, когда в функцию, принимающую URI, передан некорректный URI.