JS властивість Error.message
Загальний опис
Error.message
– це властивість, яка містить рядкове представлення помилки, і є частиною об’єкта помилки Error
у JavaScript. Цей метод слід використовувати, коли необхідно отримати інформацію про конкретну помилку, що сталася під час виконання програми.
Властивість Error: message
часто використовується для логування помилок, що допомагає програмістам визначити, що саме спричинило проблему та де відбулася помилка у коді. Зазвичай, цю властивість використовують у комбінації з іншими методами та властивостями, такими як Error.name
і Error.stack
, щоб забезпечити повну інформацію про помилку.
Приклад використання цієї властивості в коді може виглядати наступним чином:
try {
// Код, що може викликати помилку
throw new Error('Це прикладова помилка!');
} catch (error) {
console.log(error.message); // Виведе: 'Це прикладова помилка!'
}
У даному прикладі, error.message
дозволяє отримати і вивести рядок "Це прикладова помилка!", що допомагає зрозуміти, що саме стало причиною помилки.
Основні особливості та прийоми Error: message
включають в себе можливість доступу до короткого опису помилки без необхідності виводити весь об’єкт помилки, що може бути корисним при виведенні повідомлень для користувача або при зберіганні інформації про помилки в логах.
Порада: | Досвідчені розробники можуть перевизначити властивість
|
Порада: | Коли ви створюєте новий об'єкт помилки і вказуєте
|
Порада: | Для початківців, коли виникає помилка, вивчіть властивість |
Синтаксис
const e = new Error("Could not parse input");
// e.message is 'Could not parse input'
Значення
string
Дістає своє значення від рядка, переданого конструктору
Error()
як перший аргумент.let myError = new Error('Це повідомлення про помилку');
У цьому прикладі, рядок
'Це повідомлення про помилку'
буде значенням властивостіError.message
для об'єктуmyError
:console.log(myError.message); // виведе: 'Це повідомлення про помилку'
Return
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
5 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
У цьому прикладі ми маємо блок try
/ catch
, де в блоку try
робимо спробу ділити число на нуль. Оскільки ділення на нуль заборонено, ми використовуємо оператор throw
для генерації нового об'єкта помилки з конкретним Error.message
"Ділення на нуль заборонено". Якщо ця помилка виникає, вона потрапляє в блок catch
, де повідомлення про помилку виводиться в консоль за допомогою console.error(e.message)
.
try {
// Спроба ділення на нуль
let a = 1;
let b = 0;
if(b === 0) throw new Error("Ділення на нуль заборонено");
console.log(a / b);
} catch(e) {
// Виведення повідомлення про помилку
console.error(e.message);
}
В цьому прикладі створюється власний клас помилки ValidationError
, який приймає додатковий параметр field, що містить інформацію про поле, де виникла помилка. Функція validateUser
генерує новий об'єкт ValidationError
, якщо в об'єкті користувача відсутнє поле age. Потім, у блоку try
/ catch
, якщо виникає помилка, ми перевіряємо, чи є це помилка валідації, і виводимо відповідне повідомлення, включаючи Error.message
та інформацію про поле, де виникла помилка.
// Власний клас помилки
class ValidationError extends Error {
constructor(message, field) {
super(message); // Встановлюємо повідомлення про помилку
this.field = field; // Додаткова інформація про поле, де виникла помилка
}
}
function validateUser(user) {
if(!user.age) {
throw new ValidationError('Вік користувача відсутній', 'age');
}
}
try {
validateUser({ name: 'Іван' });
} catch(e) {
if(e instanceof ValidationError) {
console.error(`Помилка валідації: ${e.message}. Поле: ${e.field}`);
} else {
console.error(`Невідома помилка: ${e.message}`);
}
}