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 HTTPstatus
and errorcode
properties
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