blakeembrey / make-error-cause

Make your own nested errors
Other
67 stars 7 forks source link
caused-by error error-handling error-reporting make-error nested-errors stack-traces

Make Error Cause

NPM version NPM downloads Build status Test coverage

Make your own nested errors.

Features

Installation

npm install make-error-cause --save

Usage

import { BaseError, fullStack } from "make-error-cause";

class CustomError extends BaseError {
  constructor(message, cause) {
    super(message, cause);
  }
}

const error = new Error("Boom!");
const customError = new CustomError("Another boom!", error);

console.log(customError); // Automatically prints full stack trace using `fullStack(this)`.
console.log(customError.cause); // Check causes via the `.cause` property.

console.log(customError instanceof Error); //=> true

Attribution

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

Other references:

License

Apache 2.0