“抛出新错误”和“抛出一些对象”有什么区别?
我想编写一个通用的错误处理程序,它将捕获在任何代码实例中故意抛出的自定义错误。
当我在下面的代码中做喜欢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"}
有什么区别?
差异是否如代码中看到的一样?就像字符串将仅作为字符串传递,对象作为对象传递,但语法会有所不同?
我还没有探索抛出错误对象...我只做了扔绳子。
除了上面提到的两种方法之外,还有其他方法吗?