★ wanayoo — archive 1999 https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/ErrorNouvelle recherche | Portail wanayoo

Check out Firefox Developer Edition, the first browser built for developers like you. http://mzl.la/112VrtT

mozilla
Your Search Results

    Error

    Сводка

    Конструктор Error создаёт объект ошибки. Экземпляры объекта Error выбрасываются при возникновении ошибок во время выполнения. Объект Error также может использоваться в качестве базового для пользовательских исключений. Смотрите ниже стандартные встроенные типы ошибок.

    Синтаксис

    new Error([message[, fileName[, lineNumber]]])

    Параметры

    message
    Необязательный параметр. Человеко-читаемое описание ошибки.
    fileName
    Необязательный параметр. Значение свойства fileName созданного объекта Error. Значением по умолчанию является имя файла, содержащего код, вызвавший конструктор Error().
    lineNumber
    Необязательный параметр. Значение свойства lineNumber созданного объекта Error. Значением по умолчанию является номер строки, содержащей вызов конструктора Error().

    Описание

    Ошибки времени выполнения приводят к созданию и выбрасыванию новых объектов Error.

    Данная страница документирует использование объекта Error как самого по себе, так и при использовании в качестве функции-конструктора. Список свойств и методов, унаследованых экземплярами объекта Error, смотрите в разделе Error.prototype.

    Типы ошибок

    Кроме общего конструктора Error, в JavaScript существует ещё шесть других основных конструкторов ошибок. По обработке исключений смотрите раздел Выражения обработки исключений.

    EvalError
    Создаёт экземпляр, представляющий ошибку, возникающую в глобальной функции eval().
    InternalError
    Создаёт экземпляр, представляющий ошибку, возникающую при выбрасывании внутренней ошибки в движке JavaScript. К примеру, ошибки «слишком глубокая рекурсия» («too much recursion»).
    RangeError
    Создаёт экземпляр, представляющий ошибку, возникающую при выходе числовой переменной или параметра за пределы допустимого диапазона.
    ReferenceError
    Создаёт экземпляр, представляющий ошибку, возникающую при разыменовывании недопустимой ссылки.
    SyntaxError
    Создаёт экземпляр, представляющий синтаксическую ошибку, возникающую при разборе исходного кода в функции eval().
    TypeError
    Создаёт экземпляр, представляющий ошибку, возникающую при недопустимом типе для переменной или параметра.
    URIError
    Создаёт экземпляр, представляющий ошибку, возникающую при передаче в функции encodeURI() или decodeURl() недопустимых параметров.

    Свойства

    Error.prototype
    Позволяет добавлять свойства в экземпляры объекта Error.

    Методы

    Глобальный объект Error не содержит собственных методов, однако, он наследует некоторые методы из цепочки прототипов.

    Экземпляры объекта Error

    All Error instances and instances of non-generic errors inherit from Error.prototype. As with all constructor functions, you can use the prototype of the constructor to add properties or methods to all instances created with that constructor.

    Свойства

    Standard properties

    Error.prototype.constructor
    Specifies the function that created an instance's prototype.
    Error.prototype.message
    Error message.
    Error.prototype.name
    Error name.

    Vendor-specific extensions

    Non-standard
    This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

    Microsoft

    Error.prototype.description
    Error description. Similar to message.
    Error.prototype.number
    Error number.

    Mozilla

    Error.prototype.fileName
    Path to file that raised this error.
    Error.prototype.lineNumber
    Line number in file that raised this error.
    Error.prototype.columnNumber
    Column number in line that raised this error.
    Error.prototype.stack
    Stack trace.

    Методы

    Error.prototype.toSource()
    Returns a string containing the source of the specified Error object; you can use this value to create a new object. Overrides the Object.prototype.toSource() method.
    Error.prototype.toString()
    Returns a string representing the specified object. Overrides the Object.prototype.toString() method.

    Примеры

    Пример: выбрасывание обычной ошибки

    Обычно, вы создаёте объект Error с намерением возбудить ошибку с помощью ключевого слова throw. Вы можете обработать ошибку с помощью конструкции try...catch:

    try {
      throw new Error('Уупс!');
    } catch (e) {
      alert(e.name + ': ' + e.message);
    }
    

    Пример: обработка определённой ошибки

    Возможно, это следует удалить Вы можете обрабатывать только какой-то определённый вид ошибок, проверяя тип ошибки в свойстве constructor или, если вы пишете для современных движков JavaScript, с помощью ключевого слова instanceof:

    try {
      foo.bar();
    } catch (e) {
      if (e instanceof EvalError) {
        alert(e.name + ': ' + e.message);
      } else if (e instanceof RangeError) {
        alert(e.name + ': ' + e.message);
      }
      // ... и т.д.
    }
    

    Пример: пользовательские типы ошибок

    Вы можете захотеть определить свои собственные типы ошибок, унаследованные от Error, что бы иметь возможноть писать throw new MyError() и использовать instanceof MyError для проверки вида ошибки в обработчике исключений. Ниже продемонстрирован общий подход к выполнению этой задачи.

    Предупреждение: обратите внимание, что выбрасывание MyError будет сообщать неправильные номер строки lineNumber и имя файла fileName как минимум, в Firefox.

    Также смотрите обсуждение «Какой способ расширения Error в JavaScript более предпочтителен?» на Stackoverflow.

    // Создаём новый объект, затем через прототип делаем его наследником конструктора Error.
    function MyError(message) {
      this.name = 'MyError';
      this.message = message || 'Сообщение по умолчанию';
    }
    MyError.prototype = new Error();
    MyError.prototype.constructor = MyError;
    
    try {
      throw new MyError();
    } catch (e) {
      console.log(e.name);     // 'MyError'
      console.log(e.message);  // 'Сообщение по умолчанию'
    }
    
    try {
      throw new MyError('пользовательское сообщение');
    } catch (e) {
      console.log(e.name);     // 'MyError'
      console.log(e.message);  // 'пользовательское сообщение'
    }
    

    Спецификации

    Спецификация Статус Комментарии
    ECMAScript 1-е издание. Стандарт Изначальное определение. Реализована в JavaScript 1.1.
    ECMAScript 5.1 (ECMA-262)
    Определение 'Error' в этой спецификации.
    Стандарт  
    ECMAScript 6 (ECMA-262)
    Определение 'Error' в этой спецификации.
    Черновик  

    Совместимость с браузерами

    Help improve compatibility tables by filling out this 11 question survey.
    Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Базовая поддержка (Да) (Да) (Да) (Да) (Да)
    Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Базовая поддержка (Да) (Да) (Да) (Да) (Да) (Да)

    Смотрите также

    Метки документа и участники

    Метки: 
    На данную страницу внесли свой вклад: Mingun
    Обновлялась последний раз: Mingun,