https://github.com/supercharge/errors
JavaScript error classes with useful defaults
https://github.com/supercharge/errors
errors javascript nodejs
Last synced: about 1 month ago
JSON representation
JavaScript error classes with useful defaults
- Host: GitHub
- URL: https://github.com/supercharge/errors
- Owner: supercharge
- License: mit
- Created: 2021-07-20T07:44:41.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2022-11-17T04:27:26.000Z (over 3 years ago)
- Last Synced: 2025-08-08T22:50:58.772Z (10 months ago)
- Topics: errors, javascript, nodejs
- Language: TypeScript
- Homepage:
- Size: 33.2 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
Errors
JavaScript error classes with useful defaults
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.
```js
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](https://superchargejs.com)
---
> [superchargejs.com](https://superchargejs.com) ·
> GitHub [@supercharge](https://github.com/supercharge) ·
> Twitter [@superchargejs](https://twitter.com/superchargejs)