yan-error-class

0.2.3 • Public • Published

ErrorClass

A bundle of error classes

Get Started

  1. Install the package by npm:

    npm install yan-error-class
  2. Import the error class and throw the instance

    import {AuthError} from 'yan-error-class';
     
    throw new AuthError('Invalid token');
     
    // or
     
    throw new AuthError({
        message: 'Invalid token'
        code: 101101 // you can define custom code
        status: 401  // http status code,
        extra: {user: 'admin'} // the extra object will be returned in http response body
        id: '1' // you can add custom key
    });
  3. When you need a http response about a error:

    import {AuthError} from 'yan-error-class';
     
    let error = new AuthError('Invalid token');
    console.log(error.getHttpError()) // {code: 101101, message: 'Invalid token', extra: undefined}

Error Type

Use import to use these error class.

import {ErrorType} from 'yan-error-class';

The code can be defined as you need.

AuthError

usage: authentication failure

default code: 108

status: 401

BadRequestError

usage: bad url

default code: 102

status: 400

CloudUnavailableError

usage: the cloud is unavailable

default code: 103

status: 503

ConfigError

usage: get server config error

default code: 104

status: 409

ConflictError

usage: operate a resource in invalid status

default code: 107

status: 409

DatabaseError

usage: database error

default code: 105100

status: 503

ForbiddenError

usage: no permission to access a resource

default code: 101

status: 403

InfrastructureError

usage: basic infrastructure error

default code: 105

status: 503

InternalError

usage: internal error

default code: 100

status: 500

NotFoundError

usage: a resource is not existed

default code: 103

status: 404

RequestBodyError

usage: invalid request body

default code: 102

status: 400

UnavailableError

usage: the resource is unavailable

default code: 100

status: 503

UnSupportError

usage: the action is not supported

default code: 103

status: 503

Custom Error Class

import _ from 'lodash';
import {AbstractError} from 'yan-error-class';
 
export default class CustomError extends AbstractError {
    constructor(obj) {
        super(_.defaults(obj, {
              status: 400,
              code: 100000
          }));
    }
}

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.2.3
    0
    • latest

Version History

Package Sidebar

Install

npm i yan-error-class

Weekly Downloads

4

Version

0.2.3

License

MIT

Last publish

Collaborators

  • zfeng
  • yedaodao