Ошибки (Error)
Систаксис ошибки new Error([message, fileName, lineName)
все аргументы не обязательные:
- message - cообщение об ошибке
- fileName - имя файла в котором возникла ошибка, по умолчанию это файл исполняющий код
- lineName - номер строки, где возникла ошибка
Типы ошибок
ReferenceError - ошибка, возникающая при обращении к несуществующей переменной. Пример:
var a = nonValue; // nonValue не была объявлена в коде
SyntaxError - ошибка, возникающая при попытке интерпретировать синтаксически неправильный код. Пример:
'use strict';
{x:3, y:4}
TypeError - ошибка, возникающая когда значение имеет не ожидаемый тип (если операнд или аргумент, передаваемый в функцию , не совместим с типом, которая функция оживает). Пример:
null.f();
RangeError - ошибка, возникающая когда значение не входит в множество или выходит за диапазон допустимых значений. Может вознакать при создании массива с неправильной длинной через конструктор Array, или при передаче плохих значений в методы числа Number.isFixed(), Number.isPrecision(). Пример:
var arr = new Array(-1);
Методы вызова ошибки
throw new Error();
Создание своей ошибки
Легкий способ
function MyError(message){
this.name = 'MyError';
this.message = message || 'Сообщение по умолчанию';
this.stack = (new Error()).stack; //чтобы получить стэк возникновения ошибки, мы создаем пустую ошибку, и берем её стэк
};
MyError.prototype = Object.create(Error.prototype);
MyError.prototype.constructor = MyError;
Материал взят из MDN - Error