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!

    Install

    npm i handy-error

    DownloadsWeekly Downloads

    7

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    3.89 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar