uncaught v0.0.5
uncaught

uncaught is the module, which allows you to handle all uncaught errors and promise rejections through only one interface.
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
uncaughtExceptionadded in v0.1.18. - Event
unhandledRejectionadded in v1.4.1.
Install
$ npm install --save uncaughtUsage 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:
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:- `error` object. - In browser mode `event` object 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.