1.0.0 • Published 7 years ago

angular-error-handler v1.0.0

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

Angular Error Handler

A centralize generic error handler for promises in Angular.

Getting Started

  1. Go to your project directory using your command line tool then install the project using npm.

    npm install angular-error-handler
  2. Include angular.js and angular-error-handler.js to your index page.

    <script type="text/javascript" src="angular.js"></script>
    <script type="text/javascript" src="angular-error-handler.js"></script>
  3. Add the ngErrorHandler module to you application.

    angular.module('myApp', ['ngErrorHandler']);
  4. You can now use the 'errorHandlerProvider' to automatically handle the errors of your services.

    angular.module('myApp').config(function ($provide, errorHandlerProvider) {
      errorHandlerProvider.handle($provide, ['myService', 'myAnotherService']);
    });
  5. You can also set specific functions that you want to manually handle the error.

    angular.module('myApp').config(function ($provide, errorHandlerProvider) {
      errorHandlerProvider.handle($provide, {
        'myService': ['dontHandleErrorsInThisFunction', 'thisFunctionToo'],
        'myAnotherService': ['meToo']
      });
    });
  6. By default, logging is enabled in errorHandler, you can disable it using the code below.

    angular.module('myApp').config(function (errorHandlerProvider) {
      errorHandlerProvider.debugEnabled(false);
    });

How to use

A simple usage would be is to listen to errors using the errorNotifier service. Every service functions that is automatically handled by ngErrorHandler that caused errors will appear here. So it's up to you to do anything that you want with the error.

angular.module('myApp').run(function (errorNotifier) {
  errorNotifier.on(function (error) {
    // Do something with the error
  });
});

API Documentation

errorHandlerProvider.handle($provide, services);

This method sets up all the error handler for your service. Parameters:

  • $provide - The default $provide service of angular
  • services - Array or string services or an object that contains the service name as key, and array of string methods as value that you want to manually handle the error
errorHandlerProvider.debugEnabled(enable);

This method accepts a boolean that enable or disable the logging of ngErrorHandler module.

errorNotifier.on(function callback(error) {
  // Do something with the error
});

This method accepts a callback that contains the error as a parameter and will be triggered if there's an error that occured to the functions that is automatically handled by ngErrorHandler.

License

This project is licensed under the MIT License - see the LICENSE file for details

TODO

  • Unit tests
  • Support for catching exceptions that allows to either halt or continue execution