Разница между throw Error('msg') и throw new Error('msg')

Опубликовано: 2 Сентября, 2022

Оператор throw позволяет создать исключение или пользовательскую ошибку. Исключением может быть строка Javascript, число, логическое значение или объект. Итак, если вы используете этот оператор вместе с оператором try…catch. Это позволяет вам контролировать поток программы и генерировать точные сообщения об ошибках. Например: кинуть «слишком мало» (кинуть текст), кинуть 500 (кинуть цифру) и т. д.

Прежде всего, throw Error() и throw new Error() функционально эквивалентны.

Синтаксис:

throw Error("Enter your error message here");

Объект ошибки: объект, содержащий информацию об ошибке, генерируется и передается в функцию catch в качестве аргумента. Объект ошибки имеет три свойства: имя, сообщение и стек.

Конструктор Error() используется для создания нового объекта ошибки.

Пример: Для лучшего понимания возьмем пример:

Javascript




// throw Error()
try {
    throw Error("msg");
} catch (e) {
    console.log("for Error()");
    console.log(e);
}

Выход:

В приведенном выше коде я добавил оператор try…catch с функцией throw Error(). Этот код сделает так, что ошибка «msg» будет выброшена в блоке try, который будет выполняться операторами catch.

новый объект Error: фиксирует несколько свойств места, где произошла ошибка. Он выдает событие ошибки с двумя параметрами: имя и сообщение. Это также прекращает дальнейшее выполнение.

Пример: Для лучшего понимания возьмем пример :

Javascript




// throw new Error()
try {
    throw new Error("msg");
} catch (e) {
    console.log("for new Error()");
    console.log(e);
}

Выход :

В приведенном выше коде я добавил оператор try…catch с функцией throw new Error(). Этот код сделает так, что ошибка «msg» будет выброшена в блоке try, который будет выполняться операторами catch.

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

Примечание: Error() и new Error() в результате возвращают объект.

Разница между throw Error() и throw new Error():

бросить ошибку ()

выдать новую ошибку()

Ошибка(…) менее надежна и последовательна. new Error(…) более надежен и последователен.
Объект Error содержит трассировку стека и другую полезную отладочную информацию, которая теряется при использовании строкового литерала. Создание объектов с использованием классов ES6 требует использования new и расширения Error через класс — единственный способ сохранить трассировку стека.
Мы можем создать исключение или пользовательскую ошибку, используя throw Error() Новый метод Error() — это встроенный интерфейс прикладного программирования модуля Node.
throw Error() похож на строку Javascript, число, логическое значение или объект. Он возвращает определенные ошибки, как определено в значении сообщения, которое передается в качестве аргумента.
Мы можем контролировать поток программы и генерировать точные сообщения об ошибках, используя throw Error() . Он создает новый объект Error и устанавливает для свойства error.message предоставленное текстовое сообщение.
Оператор throw генерирует исключение.

Его синтаксис -:

новая ошибка (сообщение)