mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
events: provide better error message for unhandled error
Previously, in the event of an unhandled error event, if the error is a not an actual Error, then a default error is thrown. Now, the argument is appended to the error message and added as the `context` property of the error. PR-URL: https://github.com/iojs/io.js/pull/1654 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit is contained in:
parent
08d08668c9
commit
8b9a1537ad
@ -140,7 +140,10 @@ EventEmitter.prototype.emit = function emit(type) {
|
||||
} else if (er instanceof Error) {
|
||||
throw er; // Unhandled 'error' event
|
||||
} else {
|
||||
throw new Error('Uncaught, unspecified "error" event.');
|
||||
// At least give some kind of context to the user
|
||||
var err = new Error('Uncaught, unspecified "error" event. (' + er + ')');
|
||||
err.context = er;
|
||||
throw err;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
8
test/parallel/test-event-emitter-errors.js
Normal file
8
test/parallel/test-event-emitter-errors.js
Normal file
@ -0,0 +1,8 @@
|
||||
var EventEmitter = require('events');
|
||||
var assert = require('assert');
|
||||
|
||||
var EE = new EventEmitter();
|
||||
|
||||
assert.throws(function() {
|
||||
EE.emit('error', 'Accepts a string');
|
||||
}, /Accepts a string/);
|
Loading…
Reference in New Issue
Block a user