- Операторы
- Управляющие инструкции
- JS Объекты
- Array
- Boolean
- Date
- Error
- Function
- Global
- JSON
- Math
- Number
- Object
- RegExp
- String
- Unicode
- Symbol
- Итераторы и генераторы
- Map и WeakMap
- Set и WeakSet
- Локализация
- браузер BOM
- HTML DOM
- События
- HTML Объекты
- Промисы, async/await
- Сетевые запросы
- Бинарные данные и файлы
- Модули
- Классы
- Разное
Объект 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.