Need private packages and team management tools?Check out npm Teams »

uncaught

0.0.5 • Public • Published

uncaught Build Status npm version

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:

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.

License

MIT © https://github.com/aleksandr-oleynikov

Install

npm i uncaught

DownloadsWeekly Downloads

1,712

Version

0.0.5

License

MIT

Last publish

Collaborators

  • avatar