0.1.1 • Published 4 years ago

isnode-mod-errorhandler v0.1.1

Weekly downloads
14
License
-
Repository
github
Last release
4 years ago

ISNode Error Handler Module

Introduction

This is just a module for the ISNode Framework. To learn how to use the framework, we strongly suggest obtaining a copy of the Hello World example.

The Error Handler Module listens for uncaught exceptions within the running ISNode application server, and where it detects such an exception it broadcasts an "error" event against it's own Error Handler module instance, passing the string identifing the error as the event value.

Other modules can listen for these "error" events, and where they are aware of and know how to handle a given error event - they can handle the event, and alert the Error Handler module that the exception has been handled, by emitting an "errorhandled" event on the Error Handler module instance, with the event value set to the same string that was broadcast alongside the original error event.

Once an "error" event is triggered by the Error Handler module, a timer is initiated. If a module that is listening has not picked up, handled and responded to the Error Handler that the error has been handled (or no modules are listening for that error) within a defined timeout period (defaults to 10 seconds) - the exception will be considered unhandled and terminal to the continued operation of the application server. This will result in the application server being shut down.

Example

// The below use case assumes that you have an instance of the isnode master object

var isnode = null;

var handleOAuthError = function(){
  // Logic in here to handle the OAuth Dependency error
  return;
}

var init = function(isnodeObj){
  isnode = isnodeObj;
  isnode.module("errorhandler").on("errorthrown", function(err){
    if(err == "UNHANDLED EXCEPTION IN OAUTH DEPENDENCY"){
      isnode.module("errorhandler").emit("errorhandled", "UNHANDLED EXCEPTION IN OAUTH DEPENDENCY");
      handleOAuthError();
    }
  });
}

module.exports = init;
0.1.1

4 years ago

0.1.0

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago