Рубрики
Без рубрики

Объекты ошибок JavaScript

Различные объекты ошибок, которые вы найдете в JavaScript

JavaScript дает нам 8 объектов ошибок , которые возникают в выражении try/catch в зависимости от типа ошибки:

  • Ошибка
  • Ошибка оценки
  • Ошибка диапазона
  • Ошибка ссылки
  • Синтаксическая ошибка
  • Ошибка типа
  • Ошибка Url

Давайте проанализируем каждый из них.

Ошибка

Это общая ошибка, и именно от нее наследуются все остальные объекты ошибок. Вы никогда не увидите экземпляр Error напрямую, а вместо этого JavaScript запускает одну из других ошибок, перечисленных выше, которые наследуются от Error .

Он содержит 2 свойства:

  • сообщение : описание ошибки, удобочитаемое сообщение, которое должно объяснить, какая ошибка произошла
  • имя : тип возникшей ошибки (принимает значение имени конкретного объекта ошибки, например Ошибка типа или Ошибка синтаксиса )

и предоставляет только один метод, toString() , который отвечает за создание значимой строки из ошибки, которую можно использовать для ее вывода на экран.

Ошибка оценки

Эта ошибка определена в современном JavaScript, но на самом деле никогда не вызывается JavaScript и остается в целях совместимости. Он был определен в ECMAScript 3, но его нет в стандарте с ECMAScript 5.1.

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

Ошибка диапазона

A Ошибка диапазона срабатывает, когда числовое значение не входит в диапазон допустимых значений.

Самый простой пример – когда вы устанавливаете длину массива в отрицательное значение:

[].length = -1 //RangeError: Invalid array length

или когда вы устанавливаете его на число больше, чем 4294967295

[].length = 4294967295 //4294967295
[].length = 4294967296 //RangeError: Invalid array length

(это магическое число указано в спецификации JavaScript как максимальный диапазон 32-разрядного целого числа без знака, эквивалентный Math.pow(2, 32) - 1 )

Вот наиболее распространенные ошибки диапазона, которые вы можете обнаружить в дикой природе:

Ошибка ссылки

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

dog //ReferenceError: dog is not defined
dog = 2 //ReferenceError: dog is not defined

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

Вот наиболее распространенные ошибки ссылок, которые вы можете обнаружить в дикой природе:

Синтаксическая ошибка

A Синтаксическая ошибка возникает, когда в программе обнаружена синтаксическая ошибка.

Вот несколько примеров кода, который генерирует синтаксическую ошибку.

Оператор функции без имени:

function() {
  return 'Hi!'
}
//SyntaxError: function statement requires a name

Отсутствует запятая после определения свойства объекта:

const dog = {
  name: 'Roger'
  age: 5
}
//SyntaxError: missing } after property list

Вот наиболее распространенные синтаксические ошибки, которые вы можете обнаружить в дикой природе:

Ошибка типа

Ошибка типа возникает, когда значение имеет тип, отличный от ожидаемого.

Самый простой пример – попытка вызвать число:

1() //TypeError: 1 is not a function

Вот наиболее распространенные ошибки типа, которые вы можете обнаружить в дикой природе:

Ошибка Url

Эта ошибка возникает при вызове одной из глобальных функций, работающих с URI:

  • декодиРУЙ()
  • Декодирующий компонент()
  • Кодировка()
  • Кодирующий компонент()

и передача недопустимого URI.

Оригинал: “https://flaviocopes.com/javascript-errors/”