J'aimerais centraliser la création de la réponse d'erreur de cette manière :
app.get('/test', function(req, res){
throw {status: 500, message: 'detailed message'};
});
app.use(function (err, req, res, next) {
res.status(err.status || 500).json({status: err.status, message: err.message})
});
J'ai donc toujours le même format de sortie d'erreur.
PS : bien sûr, vous pourriez créer un objet pour étendre l'erreur standard comme ça :
const AppError = require('./lib/app-error');
app.get('/test', function(req, res){
throw new AppError('Detail Message', 500)
});
'use strict';
module.exports = function AppError(message, httpStatus) {
Error.captureStackTrace(this, this.constructor);
this.name = this.constructor.name;
this.message = message;
this.status = httpStatus;
};
require('util').inherits(module.exports, Error);
1 votes
Ma réponse à une question connexe pourrait vous aider : stackoverflow.com/questions/10170857/
2 votes
Pourriez-vous mettre à jour la réponse acceptée ?
0 votes
Cela répond-il à votre question ? Comment envoyer par programme une réponse 404 avec Express/Node ?