Разница между throw Error('msg') и throw new Error('msg')
Оператор 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 генерирует исключение. | Его синтаксис -: новая ошибка (сообщение) |