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
uncaughtException
added in v0.1.18. - Event
unhandledRejection
added 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:
-
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.