Nodejs: Comment attraper une exception de middleware?
Question
J'utilise Node.js et la "moins" middleware du compilateur:
app.configure(function() {
// ...
app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] }))
// ...
})
Maintenant, j'ai un .less
fichier défectueux, mais je ne trouve pas de documents sur la façon d'obtenir le message d'erreur.
La page que je reçois est la suivante:
<html>
<head>
<title>[object Object]</title>
<style>
/* css stuff */
</style>
</head>
<body>
<div id="wrapper">
<h1>Connect</h1>
<h2><em>500</em> [object Object]</h2>
<ul id="stacktrace"></ul>
</div>
</body>
</html>
Alors ce n'est pas utile. Quelqu'un a une idée?
La solution
Ah, ok, a obtenu. L'astuce est de laisser loin le développement errorHandler
app.configure('development', function() {
// app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
Il semble avaler les appels à app.error, maintenant ce travaux:
app.error(function(err, req, res, next) {
sys.puts("APP.ERROR:" + sys.inspect(err));
next(err);
});
Cela montre l'erreur correcte au lieu de [object Object]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow