In Express.js App final app.use, die für Fehler unter Verwendungerr ist leer, aber err.message existiert auf Express.js
app.use(function(err, req, res, next) {
res.status(err.status || 500);
console.log('as',typeof err);
// res.render('error1', {
// message: err.message,
// error: {}
// });
res.json(err.message)
});
Handhabung Wenn ich es drucken log irren als {}, aber wenn ich log err.message Es zeigt String wie 'obj ist nicht definiert'. Warum das passiert und wie ich alle Schlüssel von err Objekt wie Nachricht sehen kann.
Normalerweise sollten Sie die wichtigen Eigenschaften des Fehlerobjekts in der API-Dokumentation von ExpressJS finden oder einen JS-Debugger verwenden, um das Objekt zur Laufzeit zu untersuchen. Natürlich können Sie JS selbst verwenden, um alle Eigenschaften zu drucken, aber normalerweise ist das nicht der beste Weg. – xander
Sie können versuchen, nur den Fehler protokollieren mit console.log (err) oder res.json (err.message) – olyjosh
Object.toString ist nicht das gleiche wie JSON.stringify (Object). Object.toString wird oft als {} –