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