JS如何将window.error中的Error对象转换为字符串?

use*_*309 12 javascript stack-trace onerror

我实施了:

 window.onerror = function (m, s, l, c, e) {
 }
Run Code Online (Sandbox Code Playgroud)

其中 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)
Run Code Online (Sandbox Code Playgroud)

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

Kul*_*var 12

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


use*_*309 10

似乎错误对象有一个称为堆栈的属性。所以,e.stack 是错误的全文。

  • Error.stack 不是规范的一部分。它存在于大多数浏览器中,但不存在于 Edge 中,因此不应依赖它。 (4认同)