custom-error-handlers

2.0.0 • Public • Published

Custom Error

A Custom Error library for daily use With Error handler

Installation

  npm install custom-error-handlers

Step

1.Import Custom Error and handler
2.Add Error handler in the app
3.Throw Error
4.That much simple

Usage/Examples

1) Import

  • All Error Class are in the custom-error-handlers/error folder
//import Error Class seperately
const {
  AuthenticationError,
} = require('custom-error-handlers/error');
const { AuthorizationError } = require('custom-error-handlers/error');
const { BadRequestError } = require('custom-error-handlers/error');
const { ConfigurationError } = require('custom-error-handlers/error');
const { ControllerError } = require('custom-error-handlers/error');
const { DatabaseError } = require('custom-error-handlers/error');
const { NotFoundError } = require('custom-error-handlers/error');
const { PermissionError } = require('custom-error-handlers/error');
const { ValidationError } = require('custom-error-handlers/error');
//import Error Class as needed
const {
  AuthenticationError,
  NotFoundError,
  ValidationError,
} = require('custom-error-handlers/error');
//import all Error Class together
const Error = require('custom-error-handlers/error');
  • Import Error Middleware
const { CustomErrorHandler } = require('custom-error-handlers');

2) Use Error Middleware

Note add this line after using all router and Middleware

app.use(CustomErrorHandler()); //using custom-error-handlers handler

3) Throw CustomError

now throw custom error from any Middleware, Controller or Handler

throw new NotFoundError(); //for not found error

4) Nothing more you have implemented Custom Error Successfully

API Reference

CustomError

Parameter Type Description
errorName string for identifying error type
errorMessage string for error message
statusCode number for sending error code to the client
errorCode string for identifing specific error

All other Error Class

Note there is no errorName Parameter in these Error Class, they are already set for use

Parameter Type Description
errorMessage string for error message
statusCode number for sending error code to the client
errorCode string for identifing specific error

Error Handling Middleware

Parameter Type Default Description
options Object configure the middleware
options.passControl boolean false should call next()
options.sendResponse boolean true should send response to client

Default errorMessage and statusCode

Class errorMessage statusCode
AuthenticationError Permission Needed 403
AuthorizationError Unauthorized 401
BadRequestError Bad Request 400
ConfigurationError Internal Server Error 500
ControllerError Internal Server Error 500
CustomError Internal Server Error 500
DatabaseError Service Unavailable 503
NotFoundError Not Found 404
PermissionError Permission Needed 403
ValidationError Bad Request 400

Note all CustomError other than CustomError itself extends to CustomError which extends to Error

You can create new CustomError Class as you need by extending CustomError Class

Author

@github-MHRSRoni
@Mail me

Package Sidebar

Install

npm i custom-error-handlers

Weekly Downloads

2

Version

2.0.0

License

ISC

Unpacked Size

15.2 kB

Total Files

15

Last publish

Collaborators

  • mdmonirhosenroni