diff --git a/src/raven.js b/src/raven.js index 46ce6bdb667b..1856b86079f7 100644 --- a/src/raven.js +++ b/src/raven.js @@ -1420,14 +1420,16 @@ Raven.prototype = { }, _processException: function(type, message, fileurl, lineno, frames, options) { - var stacktrace; + type = type || ''; + message = message || ''; + if ( !!this._globalOptions.ignoreErrors.test && - this._globalOptions.ignoreErrors.test(message) + this._globalOptions.ignoreErrors.test(type + ': ' + message) ) return; - message += ''; + var stacktrace; if (frames && frames.length) { fileurl = frames[0].filename || fileurl; diff --git a/test/raven.test.js b/test/raven.test.js index 86fc0b2cc0ac..db143e87d05a 100644 --- a/test/raven.test.js +++ b/test/raven.test.js @@ -478,11 +478,13 @@ describe('globals', function() { it('should respect `ignoreErrors`', function() { this.sinon.stub(Raven, '_send'); - Raven._globalOptions.ignoreErrors = joinRegExp(['e1', 'e2']); + Raven._globalOptions.ignoreErrors = joinRegExp(['e1', 'e2', 'CustomError']); Raven._processException('Error', 'e1', 'http://example.com', []); assert.isFalse(Raven._send.called); Raven._processException('Error', 'e2', 'http://example.com', []); assert.isFalse(Raven._send.called); + Raven._processException('CustomError', 'e3', 'http://example.com', []); + assert.isFalse(Raven._send.called); Raven._processException('Error', 'error', 'http://example.com', []); assert.isTrue(Raven._send.calledOnce); });