Skip to content

Instantly share code, notes, and snippets.

@joedooley
Forked from justmoon/custom-error.js
Created November 16, 2020 16:46
Show Gist options
  • Select an option

  • Save joedooley/248a850932d1f76a187b5ad744929f69 to your computer and use it in GitHub Desktop.

Select an option

Save joedooley/248a850932d1f76a187b5ad744929f69 to your computer and use it in GitHub Desktop.
Creating custom Error classes 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