Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including endgame with all npm packages installed. Try it out:

var endgame = require("endgame")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

endgame v1.0.0

A tiny module for ensuring uncaught exceptions are handled in Node.js


A tiny module for ensuring uncaught exceptions are handled in Node.js.



Simply require and invoke.

// failed.js
var endgame = require('endgame');


throw new Error('y u no work?');

// Thu, 09 Jan 2014 20:03:18 GMT uncaughtException y u no work?
// Error: y u no work?
//    at Object._onImmediate (/Users/me/src/git/myapp/failed.js:7:0)
//    at processImmediate [as _immediateCallback] (timers.js:330:15)

If an uncaughtException handler has already been registered, endgame becomes a noop. If an uncaughtException handler is registered after endgame has been invoked, endgame's default handler is automatically removed in favor of the newly registered handler.

endgame also returns a function that can be invoked to undo endgame's behavior.

// undo.js
var endgame = require('endgame'),
    undo = endgame();

// do stuff and decide to revert `endgame` changes

Custom handler
// custom.js
var endgame, undo;

endgame = require('endgame');
undo = endgame(function (err) {

// ...

// implicit endgame undo
process.on('uncaughtException', function (err) {

// or `undo();`

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free