uncaught is the module, which allows you to handle all uncaught errors and promise rejections through only one listener.
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.
- Google Chrome 30+
- Edge (All versions)
- Internet Explorer 11
- Firefox 33+
- Opera 41+
- Safari 10+
- Yandex.Browser 16+
- Android 4.4+
- iOS 10.0+
- Google Chrome 49+
- Opera 41+
- Yandex.Browser 16+
- Event
uncaughtExceptionadded in v0.1.18. - Event
unhandledRejectionadded in v1.4.1.
$ npm install --save uncaught
<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>var uncaught = require('uncaught');
uncaught.start();
uncaught.addListener(function (error) {
console.log('Uncaught error or rejection: ', error.message);
});var uncaught = require('uncaught');
uncaught.start();
uncaught.addListener(function (error) {
console.log('Uncaught error or rejection: ', error.message);
});List of methods for module management:
-
startStarts handling of uncaught errors and promise rejection. -
stopStops handling. -
addListenerAdds listener function to list. This function is called with uncaught error or promise rejection information:-
errorobject. -
In browser mode
eventobject is sent as well.
-
-
removeListenerRemoves listener function from list. -
removeAllListenersRemoves all listeners functions. -
flushFlushes the module: removes all listeners functions and stops handling of uncaught errors and promise rejections.