Я хочу написати звичайний обробник помилок, який буде вловлювати спеціальні помилки, кинуті спеціально в будь-якому екземплярі коду.
Коли мені це throw new Error('sample')
подобалося в наступному коді
try {
throw new Error({'hehe':'haha'});
// throw new Error('hehe');
} catch(e) {
alert(e);
console.log(e);
}
Журнал показує у Firefox, як Error: [object Object]
я не міг розібрати об'єкт.
Вдруге throw
журнал відображається як:Error: hehe
Тоді коли я це зробив
try {
throw ({'hehe':'haha'});
} catch(e) {
alert(e);
console.log(e);
}
консоль показала як: Object { hehe="haha"}
у якому я зміг отримати доступ до властивостей помилок.
Яка різниця?
Чи різниця, як це видно в коді? Як рядок буде просто передано як рядок, так і об'єкт, як об'єкти, але синтаксис буде іншим?
Я не досліджував об'єкт помилки підкидання ... Я робив лише метання рядків.
Чи є якийсь інший спосіб, ніж вищевказані два способи?
Error
s