логотип 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, а также научились создавать собственные типы ошибок. Создание собственных классов ошибок позволяет более точно определить тип ошибки и сообщение об ошибке, что упрощает процесс отладки программы.

Стрелочка влевоtry...catch в JavaScript

Все гайды по Javascript

Как работает метод trim() - JavaScriptКак работает метод toUpperCase() - JavaScriptКак работает метод toLowerCase() - JavaScriptКак работает метод substring() - JavaScriptКак работает метод startsWith() - JavaScriptКак работает метод split() - JavaScriptКак работает метод slice() - JavaScriptКак работает метод search() - JavaScriptКак работает метод replaceAll() - JavaScriptКак работает метод replace() - JavaScriptКак работает метод repeat() - JavaScriptКак работает метод padStart() - JavaScriptКак работает метод padEnd() - JavaScriptКак работает метод matchAll() - JavaScriptКак работает метод match() - JavaScriptКак работает метод localeCompare() - JavaScriptКак работает свойство length - JavaScriptКак работает метод lastIndexOf() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод fromCodePoint() - JavaScriptКак работает метод fromCharCode() - JavaScriptКак работает метод endsWith() - JavaScriptКак работает метод concat() - JavaScriptКак работает метод codePointAt() - JavaScriptКак работает метод charCodeAt() - JavaScriptКак работает метод charAt() - JavaScript
Итератор в JavaScript
try...catch в JavaScriptError в JavaScript
Событие wheel в JavaScriptСобытие unload в JavaScriptСобытие touch в JavaScriptСобытие submit в JavaScriptСобытие scroll в JavaScriptСобытие reset в JavaScriptМетод .preventDefault() в JavaScriptСобытие mouseover в JavaScriptСобытие mouseout в JavaScriptСобытие load в JavaScriptСобытие keyup в JavaScriptСобытие keydown в JavaScriptСобытие invalid в JavaScriptСобытие input в JavaScriptСобытийная модель Event в JavaScriptОбъект события Event в JavaScriptСобытие DOMContentLoaded в JavaScriptСобытие dblclick в JavaScriptСобытие click в JavaScriptСобытие change в JavaScriptСобытие beforeunload в JavaScript
Как работает метод some() - JavaScriptКак работает метод reverse() - JavaScriptКак работает метод reduce() - JavaScriptКак работает метод map() - JavaScriptКак работает метод isArray() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод from() - JavaScriptКак работает метод forEach() - JavaScriptКак работает метод flatMap() - JavaScriptКак работает метод flat() - JavaScriptКак работает метод findIndex() - JavaScriptКак работает метод find() - JavaScriptКак работает метод filter() - JavaScriptКак работает метод every() - JavaScriptМассивы в JavaScript
Открыть базу знаний