When will proper stack traces be provided on [remo

2019-01-12 01:34发布

Exceptions/Errors in many other programming languages (say java, ruby) always provide stacktrace/backtrace information.

In JavaScript unhandled Errors get caught by window.onError.

Although that function does not get the Error object, so we have no access to the object's stack property.

Is there any reliable source of information about when will there be any change on that?

2条回答
乱世女痞
2楼-- · 2019-01-12 02:14

It seems that the error object itself will be the fifth parameter supplied to onerror. http://html5.org/tools/web-apps-tracker?from=8085&to=8086
http://www.whatwg.org/specs/web-apps/current-work/ - section 7.1.6.1

查看更多
我想做一个坏孩纸
3楼-- · 2019-01-12 02:15

The error object, which would contain a "sanitized" stack trace, is now being passed in as the fifth parameter to onerror in Chrome. You can read about it here: https://code.google.com/p/chromium/issues/detail?id=147127

At the time of this writing it's in Canary and should be pushed out to the stable Chrome release sometime later this month. If you're running Canary you can test it like so:

window.onerror = function (message, file, line, column, errorObj) {
    if(errorObj !== undefined) //so it won't blow up in the rest of the browsers
        console.log('Error: ' + errorObj.stack);
}

You can see as per the spec that they've also added the column number which IE 10 has also implemented.

You can also checkout the Mozilla discussion: https://bugzilla.mozilla.org/show_bug.cgi?id=355430

查看更多
登录 后发表回答