Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/judehunter/handy-error
Makes error handling excruciatingly easy.
https://github.com/judehunter/handy-error
Last synced: 14 days ago
JSON representation
Makes error handling excruciatingly easy.
- Host: GitHub
- URL: https://github.com/judehunter/handy-error
- Owner: judehunter
- License: mit
- Created: 2018-07-03T02:48:55.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-07-15T22:27:17.000Z (over 6 years ago)
- Last Synced: 2024-02-01T13:02:31.424Z (11 months ago)
- Language: JavaScript
- Size: 10.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Handy Error
A lightweight module that makes error **hand**ling in Node.js excruciatingly *easy*:boom:.Throw your errors with a single one-liner!
Also handy for e.g. Express.js error handling.
## Usage
Require the module with:
```javascript
var Err = require('handy-error'); //in a single file
global.Err = require('handy-error'); //globally
// tip: Name it something short, like Err or E
```
Now You can use it like your usual Error class, but on drugs:
```javascript
throw Err(errCode, errMsg, {extraInfo, ...});
```
Use the extra argument to pass some **handy** info to your error handler### Config
You can set defaults for error code, message and extras:
```javascript
var Err = require('handy-error').config('defCODE', 'defMSG', 'defExtras');
// The config is static across all files. (only needs to be done once)
// tip: you can omit any of the arguments by setting them to undefined,
// or just leaving them if they're not followed by any other arguments.
```## Examples
No more doing this:
```javascript
if(!fileExists){
var error = new Error('File Not Found');
error.code = 'ENOENT';
throw error;
// so much mess just for error handling, isn't it?
}
```You can now get used to **this**:
```javascript
if (!fileExists) throw Err('ENOENT', 'Not Found', extraInfo); //*Handy!*
```Handy error **hand**ling in express:
```javascript
app.get('/api', (req, res, next) => {
if (!req.query.apikey) next(Err(429, 'Too many requests', {timeout}));
});
```### Accessing extras
You can write anything to the extra object - 3rd argument.
Then You simply read/write to it like that:
```javascript
var e = Err(416, 'Range Not Satisfiable', {acceptableRange: 400});
console.log(e.extra.acceptableRange) // 400//It doesn't have to be an object!
var e = Err(408, 'Request timeout', 'Some more handy info');
console.log(e.extra) // Some more handy info
```## Install
Run this command in your command line:
```pwsh
npm i handy-error --save
```And that's **it**!