An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          











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.

```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)