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
Errorbase class capturing the stack trace by default - every error has a
nameproperty providing the error’s class name - exposes an
HttpErrorclass with HTTPstatusand errorcodeproperties
npm i @supercharge/errors
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')Do you miss a function? We very much appreciate your contribution! Please send in a pull request 😊
- Create a fork
- Create your feature branch:
git checkout -b my-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request 🚀
MIT © Supercharge
superchargejs.com · GitHub @supercharge · Twitter @superchargejs