emit error object on process.on('uncaughtException') in renderer
Chromium added the actual `error` object to the 5th parameter in `window.onerror`. This should be emitted as opposed to the `errorMsg` string. Worse yet, since `errorMsg` wasn't an instance of `Error`, any code that assumes this in any `process.on('uncaughtException')` handler would fail. Also, correctly emitting the error provides the stack trace. This is now an HTML5 standard. Sources: - https://html.spec.whatwg.org/multipage/webappapis.html#errorevent - https://mikewest.org/2013/08/debugging-runtime-errors-with-window-onerror - https://code.google.com/p/chromium/issues/detail?id=147127
This commit is contained in:
parent
967c273ddb
commit
d6ae874038
1 changed files with 1 additions and 1 deletions
|
@ -77,7 +77,7 @@ if nodeIntegration in ['true', 'all', 'except-iframe', 'manual-enable-iframe']
|
||||||
global.__dirname = __dirname
|
global.__dirname = __dirname
|
||||||
|
|
||||||
# Redirect window.onerror to uncaughtException.
|
# Redirect window.onerror to uncaughtException.
|
||||||
window.onerror = (error) ->
|
window.onerror = (message, filename, lineno, colno, error) ->
|
||||||
if global.process.listeners('uncaughtException').length > 0
|
if global.process.listeners('uncaughtException').length > 0
|
||||||
global.process.emit 'uncaughtException', error
|
global.process.emit 'uncaughtException', error
|
||||||
true
|
true
|
||||||
|
|
Loading…
Reference in a new issue