参数未传递给 window.onerror 函数

Arguments not being passed to window.onerror function

我有错误记录功能以及对未定义变量的调用 t:

const errortext = document.getElementById("errortext");

window.addEventListener("error", function (msg, file_loc, line_no) {
  errortext.innerHTML += msg + " " + file_loc + " " + line_no;
});

t

它触发了,但错误文本是这样的:

[object ErrorEvent] undefined undefined

我的问题是,为什么没有传递参数,我该如何解决?

如果您参考有关全局错误处理程序的 MDN 文档 here 它说

For historical reasons, different arguments are passed to window.onerror and element.onerror handlers (as well as on error-type window.addEventListener handlers).

在 addEventListener 下显示签名

window.addEventListener('error', function(event) { ... })

虽然看起来 onerror 为您提供了您期望的参数

window.onerror = function(message, source, lineno, colno, error) { ... };