Menu
CoddyTech

Una risposta di errore

Fa parte della sezione Fondamenti di Express del percorso Node.js di Coddy. Lezione 17 di 23.

Una route può non riuscire perché qualcosa sul server è andato storto. Lanciare un Error segnala il problema a Express. Un gestore degli errori è un middleware con quattro parametri, incluso err per primo. Express invia gli errori lanciati a questo tipo di middleware.

app.use((err, req, res, next) => {
    res.status(500).json({error: 'Try later'});
});

Inserisci il gestore dopo le route. Il client dovrebbe ricevere un breve messaggio, mentre il server può registrare i dettagli. Mantieni tutti e quattro i parametri anche se next non viene usato: Express riconosce i gestori degli errori dalla forma della funzione.

Prima di aggiungere un gestore, GET /broken restituisce la pagina di errore HTML di Express. Anche la chiamata a next(err) inoltra un errore al gestore degli errori; la chiamata a next() prosegue normalmente.

challenge icon

Sfida

Facile

Avvia solo practice-errors/server.js. I tuoi file Recipe Box restano intatti e continuerai a lavorarci nella prossima lezione.

Avvia il programma e invia GET /broken per visualizzare la pagina di errore predefinita. Aggiungi un gestore degli errori dopo le route. Registra err.message con console.error, quindi invia lo stato 500 e {"error":"Try later"}. La risposta non deve esporre Database offline, ma la Console deve mostrarlo.

Le route che generano errori si trovano nel file bloccato practice-errors/routes.js. Mantieni il suo montaggio; scrivi il gestore in server.js.

Provalo tu

import routes from './routes.js';
import express from 'express';
const app = express();
app.use(routes);
// Aggiungi qui il gestore degli errori.
app.listen(3000);

Tutte le lezioni di Fondamenti di Express

Esercitati da solo: Playground Express