Javascript JS如何从window.Error转换为字符串错误对象?

Javascript JS如何从window.Error转换为字符串错误对象?,javascript,stack-trace,onerror,Javascript,Stack Trace,Onerror,我实施了: window.onerror = function (m, s, l, c, e) { } 其中e是错误对象。例如,它包含: ReferenceError: rde is not defined at Object.bla.cs (domain.pt/bla.js:418:17) at n.aanv (domain.pt/bla.js:125:29) 如果我使用e.toString(),则只返回第一行。如何获得3条线路?谢谢。错误对象似乎有一个名为stack的

我实施了:

 window.onerror = function (m, s, l, c, e) {
 }
其中e是错误对象。例如,它包含:

ReferenceError: rde is not defined
    at Object.bla.cs (domain.pt/bla.js:418:17)
    at n.aanv (domain.pt/bla.js:125:29)

如果我使用
e.toString()
,则只返回第一行。如何获得3条线路?谢谢。

错误对象似乎有一个名为stack的属性。因此,e.stack是错误的全文。

错误对象有一个包含完整消息的
.message
属性(不需要
.toString()
。也有
.stack
,但它不是一个标准化属性。

我还尝试了以下方法:e.toString().replace(/(\r\n\n\124n\r)/gm)”),但没有成功{console.log(e[p]);}或
JSON.stringify(e);
可能有帮助吗?检查。它没有帮助。JSON.stringify(e)返回未定义的。Error.stack不是规范的一部分。它存在于大多数浏览器中,但不存在于edge中,不应依赖它。