Skip to content

supercharge/errors

Repository files navigation



Errors

JavaScript error classes with useful defaults


Installation · Usage



Latest Version Monthly downloads

Follow @marcuspoehls and @superchargejs for updates!


Introduction

The @supercharge/errors package provides error classes with useful defaults. This avoids the boilerplate of setting up a custom error class in different projects.

  • provides an Error base class capturing the stack trace by default
  • every error has a name property providing the error’s class name
  • exposes an HttpError class with HTTP status and error code properties

Installation

npm i @supercharge/errors

Quick Usage Overview

Using @supercharge/errors is pretty straightforward. The package exports error classes that you can use like the native Error class.

const { Error, HttpError } = require('@supercharge/errors')

// works like the native `Error` class and also contains the stacktrace
throw new Error('your error message')

// the HTTP Error provides a fluent interface to customize the properties
throw new HttpError('Request validation failed')
  .withStatus(400)
  .withCode('E_YOUR_CUSTOM_ERROR_CODE')

// or create an HTTP error by passing all arguments to the constructor
throw new HttpError('Request validation failed', 400, 'E_YOUR_CUSTOM_ERROR_CODE')

Contributing

Do you miss a function? We very much appreciate your contribution! Please send in a pull request 😊

  1. Create a fork
  2. Create your feature branch: git checkout -b my-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request 🚀

License

MIT © Supercharge


superchargejs.com  ·  GitHub @supercharge  ·  Twitter @superchargejs