Awesome
uncaught
uncaught
is the module, which allows you to handle all uncaught errors and promise rejections through only one listener.
How it works
uncaught
listens for global object errors and unhandled rejections events:
-
For browser these are error and unhandledrejection.
-
And for Node.js these are uncaughtException and unhandledRejection.
After one of these events fires, the module transfers error
(and also event
for browser mode) object(s) to all registered listeners functions.
Browser support
Global error
- Google Chrome 30+
- Edge (All versions)
- Internet Explorer 11
- Firefox 33+
- Opera 41+
- Safari 10+
- Yandex.Browser 16+
- Android 4.4+
- iOS 10.0+
Global unhandled rejection
- Google Chrome 49+
- Opera 41+
- Yandex.Browser 16+
Node.js support
- Event
uncaughtException
added in v0.1.18. - Event
unhandledRejection
added in v1.4.1.
Install
$ npm install --save uncaught
Usage examples
Browser
<body>
...
<script src="path_to_your_project_dir/node_modules/uncaught/lib/index.js"></script>
<script>
uncaught.start();
uncaught.addListener(function (error) {
console.log('Uncaught error or rejection: ', error.message);
});
</script>
...
</body>
Browser + webpack
var uncaught = require('uncaught');
uncaught.start();
uncaught.addListener(function (error) {
console.log('Uncaught error or rejection: ', error.message);
});
Node.js
var uncaught = require('uncaught');
uncaught.start();
uncaught.addListener(function (error) {
console.log('Uncaught error or rejection: ', error.message);
});
API
List of methods for module management:
-
start
Starts handling of uncaught errors and promise rejection. -
stop
Stops handling. -
addListener
Adds listener function to list. This function is called with uncaught error or promise rejection information:-
error
object. -
In browser mode
event
object is sent as well.
-
-
removeListener
Removes listener function from list. -
removeAllListeners
Removes all listeners functions. -
flush
Flushes the module: removes all listeners functions and stops handling of uncaught errors and promise rejections.