December 29, 2023

обработка ошибок

отловить синтаксическую ошибку

function isolatedFunction() {
    try {
        // ваш код функции здесь
    } catch (error) {
        if (error instanceof SyntaxError) {
            console.log("Синтаксическая ошибка: " + error.message);
        } else {
            throw error;
        }
    }
}

29.12.2023, 09:01:39

В JavaScript оператор instanceof используется для определения, принадлежит ли объект к определенному классу. Когда речь идет о перехвате ошибок с использованием instanceof, обычно проверяются типы ошибок, такие как TypeError, ReferenceError, SyntaxError, RangeError, EvalError и другие встроенные ошибки.

Примеры:

javascript
try {
    // код, который может вызвать ошибку
} catch (error) {
    if (error instanceof TypeError) {
        // обработка ошибки типа TypeError
    } else if (error instanceof ReferenceError) {
        // обработка ошибки типа ReferenceError
    } else if (error instanceof SyntaxError) {
        // обработка ошибки типа SyntaxError
    } else {
        // обработка других типов ошибок
    }
}

Это позволяет более гибко обрабатывать различные типы ошибок, предоставляя специфическое поведение для каждого типа.

29.12.2023, 09:05:03

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

  1. TypeError: Возникает, когда операция не может быть выполнена из-за неправильного типа или значения. Например, попытка вызвать метод у недопустимого типа объекта.
  2. ReferenceError: Сигнализирует о том, что используется недопустимая ссылка на переменную или свойство объекта, которое не было определено.
  3. SyntaxError: Возникает, когда интерпретатор обнаруживает синтаксическую ошибку в коде, например, неправильное использование ключевых слов, пропущенные скобки и т.д.
  4. RangeError: Означает, что значение выходит за пределы допустимого диапазона. Например, при вызове функции с аргументом, который находится за пределами допустимых значений.
  5. EvalError: Этот тип ошибки используется для устаревшего исключения, которое ранее использовалось для ошибок, возникающих в функции eval().

ф

URIError: Возникает, когда глобальные функции URI (например, decodeURI, encodeURI) используются неправильно.

EvalError: Это исключение больше не используется в стандарте ECMAScript и обычно не возникает в современном коде, так как ошибка eval() теперь является частью типа SyntaxError.

InternalError: Этот тип ошибки предполагает, что что-то пошло не так при выполнении JavaScript движка, например, рекурсивное переполнение стека.

AggregateError: Новый тип ошибки, добавленный в ECMAScript 2020, предназначен для представления нескольких промисов, которые были отклонены.


URIError: Возникает, когда глобальные функции URI (например, decodeURI, encodeURI) используются неправильно.

EvalError: Это исключение больше не используется в стандарте ECMAScript и обычно не возникает в современном коде, так как ошибка eval() теперь является частью типа SyntaxError.

InternalError: Этот тип ошибки предполагает, что что-то пошло не так при выполнении JavaScript движка, например, рекурсивное переполнение стека.

AggregateError: Новый тип ошибки, добавленный в ECMAScript 2020, предназначен для представления нескольких промисов, которые были отклонены.


URIError: Возникает, когда глобальные функции URI (например, decodeURI, encodeURI) используются неправильно.

EvalError: Это исключение больше не используется в стандарте ECMAScript и обычно не возникает в современном коде, так как ошибка eval() теперь является частью типа SyntaxError.

InternalError: Этот тип ошибки предполагает, что что-то пошло не так при выполнении JavaScript движка, например, рекурсивное переполнение стека.

AggregateError: Новый тип ошибки, добавленный в ECMAScript 2020, предназначен для представления нескольких промисов, которые были отклонены.



PromiseRejectionEvent: Этот тип ошибки представляет собой событие, возникающее при отклонении промиса.

SecurityError: Возникает при нарушении политики безопасности, например, при попытке выполнить операцию, которая запрещена из-за ограничений безопасности браузера.

DOMException: Это исключение используется для представления ошибок, связанных с DOM (Document Object Model), таких как "SecurityError", "NotFoundError" и другие.

AbortError: Обычно возникает при вызове метода abort() на объекте, который может быть прерван, таком как запрос fetch или выполнение скрипта в веб-работниках.