custom-error-handlers
v2.0.0
Published
custom error in a simple way
Maintainers
Readme
Custom Error
A Custom Error library for daily use With Error handler
Installation
npm install custom-error-handlersStep
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/errorfolder
//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 handler3) Throw CustomError
now throw custom error from any Middleware, Controller or Handler
throw new NotFoundError(); //for not found error4) 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
