логотип PurpleSchool
Иконка входа
Вход
  • Обучение
  • Войти
логотип PurpleSchool

Error в JavaScript

Автор

Дмитрий Фандорин

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

Описание работы

Класс Error является встроенным объектом в JavaScript, который представляет ошибку. Класс Error имеет два свойства: message и name. Свойство message содержит сообщение об ошибке, а свойство name содержит имя ошибки.

Создание объекта Error выглядит следующим образом:

new Error('Сообщение об ошибке');

Встроенные ошибки: SyntaxError, ReferenceError, TypeError, RangeError, URIError, EvalError, InternalError

JavaScript имеет несколько встроенных типов ошибок, которые могут возникнуть в процессе выполнения программы. Рассмотрим каждый тип ошибок более подробно.

  • SyntaxError - возникает, когда в программе обнаруживается синтаксическая ошибка. Например, если вы забыли поставить точку с запятой в конце выражения:
SyntaxError: Unexpected token ;
  • ReferenceError - возникает, когда попытка обратиться к несуществующей переменной или функции. Например, если вы попытаетесь получить значение несуществующей переменной:
ReferenceError: x is not defined
  • TypeError - возникает, когда операция не может быть выполнена из-за типов данных. Например, если вы попытаетесь вызвать метод на undefined:
TypeError: Cannot read property 'method' of undefined
  • RangeError - возникает, когда значение находится вне допустимого диапазона. Например, если вы попытаетесь создать массив с отрицательной длиной:
RangeError: Invalid array length
  • URIError - возникает, когда функция, которая работает с URI, получает некорректный URI:
URIError: URI malformed
  • EvalError - возникает, когда функция eval() получает некорректный код в качестве аргумента:
EvalError: Incorrect eval code
  • InternalError - возникает, когда внутренняя ошибка JavaScript не может быть обработана:
InternalError: Too much recursion

Собственный класс ошибок

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

Для создания собственного класса ошибок, необходимо объявить новый класс, который наследуется от объекта Error. В конструкторе класса можно задать свойства name и message, которые будут содержать название ошибки и описание ошибки соответственно.

Рассмотрим пример создания собственного класса ошибок в JavaScript:

class MyError extends Error {
  constructor(message) {
    super(message);
    this.name = "MyError";
  }
}

throw new MyError("This is my error");

В этом примере мы создали новый класс MyError, который наследуется от объекта Error. В конструкторе класса мы задали свойство name равным "MyError", а свойство message - переданный аргумент. Для вызова ошибки мы использовали ключевое слово throw и передали экземпляр нашего класса MyError с переданным сообщением.

Заключение

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

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile