From 36a7cf9b1e1f96fe27710ab3f06043d01ad54d0e Mon Sep 17 00:00:00 2001 From: Dave Methvin Date: Mon, 23 Nov 2015 13:57:10 -0500 Subject: Deferred: Warn on exceptions that are likely programming errors Fixes gh-2736 Closes gh-2737 --- src/deferred/exceptionHook.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/deferred/exceptionHook.js (limited to 'src/deferred') diff --git a/src/deferred/exceptionHook.js b/src/deferred/exceptionHook.js new file mode 100644 index 000000000..b9955063a --- /dev/null +++ b/src/deferred/exceptionHook.js @@ -0,0 +1,19 @@ +define( [ + "../core", + "../deferred" +], function( jQuery ) { + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE9 + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, stack ); + } +}; + +} ); -- cgit v1.2.3