custom-verror

0.1.1 • Public • Published

Custom VError

Build Status

Simple class extending VError for easy custom error creation.

Usage

Here is the basic usage. For more use cases, see the tests.

1. Define your error

UserNotAllowedError.js

'use strict';
 
const CustomVError = require('custom-verror');
 
// Replace UserNotAllowedError with your custom error name
module.exports = class UserNotAllowedError extends CustomVError {
    constructor(...args) {
        super(...args);
        // Provide a default message
        this.message = this.message || 'User is not allowed to perform this action';
    }
};

2. Throw your error

const UserNotAllowedError = require('./UserNotAllowedError');
 
function performAction() {
    if (!isAllowed) {
        throw new UserNotAllowedError({
            // You can provide some error metadata. This will be appended to the message
            info: {
                user_id: user._id
            }
        })
    }
}

3. Catch your error

try {
    performAction();
} catch (ex) {
    if (ex instanceof UserNotAllowedError) {
        numberOfTimesUsersTriedToDoSomethingTheyWerentSupposedTo++;
        // This will log the default message and the metadata in following format:
        // "User is not allowed to perform this action user_id=FOO"
        console.log(ex);
    }
}

Readme

Keywords

none

Package Sidebar

Install

npm i custom-verror

Weekly Downloads

291

Version

0.1.1

License

MIT

Unpacked Size

5.84 kB

Total Files

7

Last publish

Collaborators

  • suda
  • monkbroc
  • particlebot