JavaScript · Middle · Запитання 46 з 75
Як правильно створити власний клас помилки?
class ValidationError extends Error {
constructor(message, field) {
super(message);
this.name = "ValidationError";
this.field = field;
}
}- ✓Правильна відповідь: Успадкуватися від
Error, викликатиsuper(message)і задатиname - 2Створити звичайний об'єкт
{ message }-throwприйме будь-який об'єкт - 3Успадкуватися від
String, щоб повідомлення виводилося коректно
Пояснення
Успадкування від Error дає стек викликів, коректну роботу instanceof і виведення в консолі. Кинути можна будь-що, але звичайний об'єкт не має стека. Для ланцюжка причин є new Error('msg', { cause: err }).