Skip to content

Instantly share code, notes, and snippets.

@subfuzion
Created February 26, 2014 18:54
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save subfuzion/9235975 to your computer and use it in GitHub Desktop.
Save subfuzion/9235975 to your computer and use it in GitHub Desktop.
Creating custom Error objects in Node.js

Sometimes you want to wrap error objects with application-specific errors for your stack traces.

Your custom error constructor:

function CustomError(e, extra) {
  Error.call(this);
  Error.captureStackTrace(this, CustomError);
  this.id = e.id;
  this.name = 'CustomError';
  this.message = e.message
}

require('util').inherits(CustomError, Error);

Example usage:

function doWork(callback) { doErrorProneWork(funtion(err, result) { if (err) return callback(new CustomError(err));

  ...
}

}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment