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