This package was created to add a general way to handle exception for express application with the expectation to make it simpler to handle all possible requests.
add it to your project with npm install express-exception-handler
or yarn add express-exception-handler
there are 2 different ways to integrate the main functionality of this package, either by adding the handle that gets injected to the router framework
var exceptionHandler = require('express-exception-handler')
exceptionHandler.handle()
const app = require('express')()
or by wraping manually the routes
var wrap = require('express-exception-handler').wrap
router.post('/', wrap(async (req, res) => {
...
}))
it also integrates an extended class from Error that contains a message
and a status
that can be used to pass diferent information to the error handle
var httpError = require('express-exception-handler').exception
router.post('/', async (req, res) => {
throw new HttpError('Great Message', 400, "{Response: awesome}")
}))
last but not least it also contains a middleware that can be added directly to express that handles the previous named errors.
var middleware = require('express-exception-handler').middleware
const app = require('express')()
app.use(middleware)
The handle
and the wrap
function allow configuration parameters to be passed. The default is:
{
nextOnce: true,
defaultJsonResponse: false,
}
- nextOnce: makes sure next can only be called once
- defaultJsonResponse: runs
res.json
by default when the internally returned value is an object.
Arrows graphic by madebyoliver from Flaticon is licensed under CC BY 3.0. Check out the new logo that I created on LogoMaker.com https://logomakr.com/6nL7006nL700
Thanks goes to these wonderful people (emoji key):
Brad Reed 💻 |
Oren Zomer 💻 |
Tu Nguyen 🤔 |
This project follows the all-contributors specification. Contributions of any kind welcome!