2016-12-14 1 views
0

J'ai le code suivant dans mes app.jsGestion des erreurs dans fanfaronnades-express-mw

'use strict'; 

var SwaggerExpress = require('swagger-express-mw'); 
var app = require('express')(); 
module.exports = app; // for testing 

var config = { 
    appRoot: __dirname // required config 
}; 

SwaggerExpress.create(config, function(err, swaggerExpress) { 
    console.log("Web Server started."); 

    if (err) { throw err; } 

    // install middleware 
    swaggerExpress.register(app); 
    app.use(function(err, req, res, next) { 
    console.log('caught it!'); 
    dosomething(); 
    }); 
    var port = process.env.PORT || 10010; 
    app.listen(port); 

}); 

Et mon contrôleur hello_world.js

function hello(req, res) { 
    throw new Error('my error!'); 
} 

Quand je démarre l'application et navigateur pour http://localhost:10010/hello , cela renvoie une réponse 500 avec mon message d'erreur comme prévu. Cependant, le middleware de gestion des erreurs n'a pas été appelé du tout. Des idées?

Répondre

1

Si vous supprimez le raccord par défaut de default.yaml, cela fonctionnera.

  • onError: json_error_handler