banner

Blog

Jul 20, 2023

5 modi per gestire in modo efficiente gli errori nelle applicazioni Express.js con esempi pratici

Scopri i vari tipi di errori che puoi gestire e come puoi utilizzare Express.js per gestirli.

In uno scenario ideale, crei le tue API e i tuoi servizi backend, li distribuisci in produzione, quindi ti siedi e ti rilassi mentre altri li utilizzano. Sfortunatamente, nel mondo reale, i programmi che scrivi conterranno quasi sicuramente errori e bug.

Per questo motivo, quando si sviluppano le API Express.js e i servizi backend, è importante tenere conto di come potrebbero verificarsi diversi errori e di come gestirli in modo efficace.

Anticipando tali scenari, puoi garantire che le tue app non solo gestiscano gli errori in modo efficace, ma forniscano anche agli utenti un'esperienza senza interruzioni.

Durante lo sviluppo di applicazioni Express.js, riscontrerai vari tipi di errori, tra cui:

Esistono varie tecniche che puoi utilizzare per gestire in modo efficace gli errori nelle API REST e nei servizi backend Express.js.

Un modo semplice per gestire gli errori è rilevarli e registrare i dettagli nella console. Questo approccio consente di identificare gli errori durante le fasi di sviluppo e debug.

Usandoconsole.errore() , puoi ottenere informazioni dettagliate sulla natura e sulla posizione degli errori all'interno della tua applicazione. Ecco un esempio di codice:

Express.js offre diversi pacchetti middleware di gestione degli errori per semplificare la gestione degli errori. Uno di questi pacchetti ègestore-errore-espresso—Questi pacchetti semplificano la gestione e la risposta agli errori fornendo funzionalità pronte all'uso, come messaggi di errore personalizzati e funzionalità di registrazione degli errori.

Per utilizzare questo pacchetto, devi installarlo nel tuo progetto:

Una volta installato, puoi utilizzare le sue funzionalità per migliorare le capacità di gestione degli errori della tua applicazione.

Ad esempio, nell'esempio precedente, supponiamo che un utente richieda un percorso che non esiste. La funzione del gestore attiverà e reindirizzerà l'utente a una pagina di errore 404 personalizzata, 404.html. Ciò garantisce che l'applicazione Express.js gestisca in modo efficace un errore di pagina non trovata.

In sostanza, questi pacchetti forniscono un approccio più intuitivo alla gestione degli errori che potrebbero verificarsi.

La gestione degli errori di programmazione sincroni e asincroni utilizzando i blocchi try-catch è una tecnica efficace in Express.js. Per il codice sincrono, puoi gestire gli errori racchiudendo la sezione potenzialmente soggetta a errori in un blocco try-catch.

Ecco un esempio di codice che mostra i blocchi try-catch in uso:

Tuttavia, quando si lavora con operazioni asincrone come query di database o si utilizza Axios per utilizzare le API, i soli blocchi try-catch potrebbero non essere sufficienti. In questi casi è ora possibile integrare il fileasincrono e attendiparole chiave all'interno dei blocchi per gestire gli errori in modo più efficiente.

Ecco del codice di esempio:

Il middleware di gestione degli errori personalizzato ti consente di definire il modo in cui il tuo programma gestisce gli errori e le risposte corrispondenti, in base ai requisiti della tua applicazione.

Creando funzioni middleware di gestione degli errori, è possibile centralizzare e personalizzare la gestione degli errori, garantendo un approccio più organizzato e personalizzato alla gestione degli errori nell'intera applicazione.

Ecco un esempio di codice funzione middleware personalizzato:

In questo esempio, ilnotFoundHandlerla funzione controlla ilrisorsa parametro nell'URL della richiesta. A seconda del valore fornito, la funzione del gestore risponde con messaggi di errore personalizzati per diversi tipi di risorse, come utenti e prodotti.

Per qualsiasi altra risorsa non gestita esplicitamente, fornisce un messaggio di errore generico. In alternativa, all'interno di questo middleware, puoi anche scegliere di indirizzare gli utenti a pagine di errore personalizzate che li assistono su come risolvere i problemi riscontrati.

Utilizzando questo middleware di gestione degli errori personalizzato, puoi personalizzare la gestione degli errori e le risposte a situazioni diverse, rendendo la gestione degli errori più specifica e informativa.

In un ambiente di produzione, è essenziale implementare la registrazione e il monitoraggio degli errori per tenere traccia degli errori dell'applicazione. Alcuni strumenti efficaci che puoi utilizzare includono Winston e Morgan, tra gli altri. Questi strumenti registrano gli errori su un file, un server centralizzato o una piattaforma di monitoraggio, consentendoti di identificare e risolvere rapidamente i problemi.

CONDIVIDERE