Я хочу написать общий обработчик ошибок, который будет отлавливать пользовательские ошибки, специально созданные в любом экземпляре кода.
Когда я сделал, 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
с