2017-03-26 6 views
0

Wann immer etwas zu entschlüsseln:Fehlgeschlagen param in Express

http://localhost:3000/asdd%Asd wird eingegeben (natürlich kein Weg) bekomme ich konnte nicht param entschlüsseln. Wie würde ich diesen Fehler abfangen und mit einer Route zu einem 404 weiterleiten?

Fehler Middleware:

app.use(function(req, res, next) { 
    var err = new Error('Not Found'); 
    //err.status = 404; 
    res.redirect('/404'); 
    next(err); 
}); 

Paket JSON:

"engineStrict": true, 
    "engines": { 
    "node": "7.7.4", 
    "npm": "3.10.10" 
    }, 

Antwort

1

Sie haben ein fehlendes Argument in der Funktion Signatur für Ihre Fehlerbehandlungsroutine. Das erste Argument ist err (der Fehler wurde empfangen). Versuchen Sie etwas wie folgt:

app.use(function(err, req, res, next) { 
    res.redirect('/404'); 
    next(err); // <- I don't know enough about ExpressJS to know if this is actually needed. :-D 
}); 
+0

Bearbeitung jetzt. Vielen Dank. – Quesofat

+0

Es gibt keine Stack-Trace zu haben. – Quesofat

+0

Ich habe meine Antwort komplett umgeschrieben. Bitte schau es dir an. – Trott