diff options
author | Dave Methvin <dave.methvin@gmail.com> | 2015-11-23 13:57:10 -0500 |
---|---|---|
committer | Dave Methvin <dave.methvin@gmail.com> | 2016-01-13 12:39:58 -0500 |
commit | 36a7cf9b1e1f96fe27710ab3f06043d01ad54d0e (patch) | |
tree | 6b6c741eaba457c55b1cf91176b8848f36673b44 /src/deferred | |
parent | bdf1b8f317d793d8ebbbe7787955edabf201a685 (diff) | |
download | jquery-36a7cf9b1e1f96fe27710ab3f06043d01ad54d0e.tar.gz jquery-36a7cf9b1e1f96fe27710ab3f06043d01ad54d0e.zip |
Deferred: Warn on exceptions that are likely programming errors
Fixes gh-2736
Closes gh-2737
Diffstat (limited to 'src/deferred')
-rw-r--r-- | src/deferred/exceptionHook.js | 19 |
1 files changed, 19 insertions, 0 deletions
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 ); + } +}; + +} ); |