Skip to content

Commit 2e8dfdf

Browse files
ctidecburkhart-blz
authored andcommitted
Update events.js
Update error message that's thrown when no error listeners are attached to an emitter. This would have been trivial to debug if I had understood what 'unspecified error' was supposed to mean. Once I went looking at the source, and saw the comment on 149, it was easy to fix.
1 parent e1834ff commit 2e8dfdf

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

lib/events.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ EventEmitter.prototype.emit = function emit(type) {
177177
er = arguments[1];
178178
if (domain) {
179179
if (!er)
180-
er = new Error('Uncaught, unspecified "error" event');
180+
er = new Error('Unhandled "error" event');
181181
if (typeof er === 'object' && er !== null) {
182182
er.domainEmitter = this;
183183
er.domain = domain;
@@ -188,7 +188,7 @@ EventEmitter.prototype.emit = function emit(type) {
188188
throw er; // Unhandled 'error' event
189189
} else {
190190
// At least give some kind of context to the user
191-
var err = new Error('Uncaught, unspecified "error" event. (' + er + ')');
191+
const err = new Error('Unhandled "error" event. (' + er + ')');
192192
err.context = er;
193193
throw err;
194194
}

test/parallel/test-event-emitter-errors.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ const assert = require('assert');
55

66
const EE = new EventEmitter();
77

8-
assert.throws(function() {
8+
assert.throws(() => {
99
EE.emit('error', 'Accepts a string');
10-
}, /Accepts a string/);
10+
}, /^Error: Unhandled "error" event\. \(Accepts a string\)$/);
11+
12+
assert.throws(() => {
13+
EE.emit('error', {message: 'Error!'});
14+
}, /^Error: Unhandled "error" event\. \(\[object Object\]\)$/);

0 commit comments

Comments
 (0)