node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org »


Make Error Cause

NPM version NPM downloads Build status Test coverage

Make your own nested error types!


  • Compatible with Node and browsers
  • Works with instanceof
  • Use error.stack and
  • Output full cause with toString
  • Extends make-error


npm install make-error-cause --save


Usages from make-error. The only difference is that errors accept a second argument known as the error "cause". The cause is used to wrap original errors with more intuitive feedback - for instance, wrapping a raw database error in a HTTP error.

const CustomError = makeErrorCause('CustomError')
const cause = new Error('boom!')
const error = new CustomError('something bad', cause)
error.toString() //=> "CustomError: something bad\nCaused by: boom!" 
error.stack // Works! 
error.cause.stack // Handy! 


Inspired by verror, and others, but created lighter and without core dependencies for browser usage.


Apache 2.0