isnode-mod-errorhandler
v0.1.1
Published
ISNode Error Handler Module
Downloads
3
Readme
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;