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>
} 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;
}
--- /dev/null
+var EventEmitter = require('events');
+var assert = require('assert');
+
+var EE = new EventEmitter();
+
+assert.throws(function() {
+ EE.emit('error', 'Accepts a string');
+}, /Accepts a string/);