我想编写一个通用的错误处理程序,它将捕获在任何代码实例上故意抛出的自定义错误。
当我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"}
在其中可以访问错误属性。
有什么区别?
代码中有区别吗?像字符串一样,只是作为字符串传递,而像对象一样传递,但是语法会有所不同吗?
我没有探索过抛出错误对象……我只做过抛出字符串。
除上述两种方法外,还有其他方法吗?