Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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?

question from:https://stackoverflow.com/questions/17687410/when-will-proper-stack-traces-be-provided-on-window-onerror-function

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
216 views
Welcome To Ask or Share your Answers For Others

1 Answer

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...