NodeJS: Wie eine Ausnahme von Middleware fangen?
Frage
Ich bin node.js und die "weniger" Compiler-Middleware mit:
app.configure(function() {
// ...
app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] }))
// ...
})
Jetzt habe ich eine fehlerhafte .less
-Datei bekommen, aber ich kann keine Dokumente finden, wie man die Fehlermeldung zu erhalten.
Die Seite, die ich erhalten, ist dies:
<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>
Also, die nicht hilfreich ist. Hat jemand eine Idee?
Lösung
Ah, ok, bekam es. Der Trick besteht darin, die Entwicklung errorhandler
zu verlassen wegapp.configure('development', function() {
// app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
Es scheint, Anrufe zu app.error zu schlucken, so dass nun diese Werke:
app.error(function(err, req, res, next) {
sys.puts("APP.ERROR:" + sys.inspect(err));
next(err);
});
Dies zeigt die korrekten Fehler statt [object Object]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow