diff options
author | Anna Henningsen <anna@addaleax.net> | 2019-01-21 20:45:55 +0100 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2019-01-23 16:43:29 +0100 |
commit | eeea0dd1e74487edb0f707e571ddd14ec09686b0 (patch) | |
tree | 01b61c72c13d15506bc46bef3cd75ade65213c71 /test/parallel | |
parent | 2b65399694440d0bab1c4e394898a4555e58c324 (diff) | |
download | android-node-v8-eeea0dd1e74487edb0f707e571ddd14ec09686b0.tar.gz android-node-v8-eeea0dd1e74487edb0f707e571ddd14ec09686b0.tar.bz2 android-node-v8-eeea0dd1e74487edb0f707e571ddd14ec09686b0.zip |
events: show inspected error in uncaught 'error' message
If there is no handler for `.emit('error', value)` and `value`
is not an `Error` object, we currently just call `.toString()`
on it.
Almost always, using `util.inspect()` provides better information
for diagnostic purposes, so prefer to use that instead.
Refs: https://github.com/nodejs/help/issues/1729
PR-URL: https://github.com/nodejs/node/pull/25621
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Matheus Marchini <mat@mmarchini.me>
Diffstat (limited to 'test/parallel')
-rw-r--r-- | test/parallel/test-event-emitter-errors.js | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/test/parallel/test-event-emitter-errors.js b/test/parallel/test-event-emitter-errors.js index ef2bbee93f..13d3a98d9c 100644 --- a/test/parallel/test-event-emitter-errors.js +++ b/test/parallel/test-event-emitter-errors.js @@ -1,6 +1,7 @@ 'use strict'; const common = require('../common'); const EventEmitter = require('events'); +const util = require('util'); const EE = new EventEmitter(); @@ -9,7 +10,7 @@ common.expectsError( { code: 'ERR_UNHANDLED_ERROR', type: Error, - message: 'Unhandled error. (Accepts a string)' + message: "Unhandled error. ('Accepts a string')" } ); @@ -18,6 +19,18 @@ common.expectsError( { code: 'ERR_UNHANDLED_ERROR', type: Error, + message: "Unhandled error. ({ message: 'Error!' })" + } +); + +common.expectsError( + () => EE.emit('error', { + message: 'Error!', + [util.inspect.custom]() { throw new Error(); } + }), + { + code: 'ERR_UNHANDLED_ERROR', + type: Error, message: 'Unhandled error. ([object Object])' } ); |