Дмитрий Фандорин
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