handy-error

2.0.0 • Public • Published

Handy Error

A lightweight module that makes error handling in Node.js excruciatingly easy💥.

Throw your errors with a single one-liner!

Also handy for e.g. Express.js error handling.

Usage

Require the module with:

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:

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:

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:

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:

if (!fileExists) throw Err('ENOENT', 'Not Found', extraInfo);   //*Handy!*

Handy error handling in express:

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:

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:

npm i handy-error --save

And that's it!

Package Sidebar

Install

npm i handy-error

Weekly Downloads

1

Version

2.0.0

License

MIT

Unpacked Size

3.89 kB

Total Files

4

Last publish

Collaborators

  • judehunter