Fehlerbehandlung in Express.js: Effektive Strategien und Antwortnachrichten

Während der Anwendungsentwicklung ist die Fehlerbehandlung ein entscheidender Aspekt, um ein reibungsloses Benutzererlebnis zu gewährleisten und unvorhergesehene Probleme zu entschärfen. In der Express.js Umgebung haben Sie mehrere Möglichkeiten, mit Fehlern umzugehen und den Benutzern geeignete Antwortnachrichten bereitzustellen. Hier finden Sie eine Anleitung, wie Sie dies erreichen:

Verwendung Middleware für die globale Fehlerbehandlung

Erstellen Sie eine globale Fehlerbehandlung middleware, indem Sie den folgenden Code am Ende der app.js oder Hauptdatei Ihrer Express.js Anwendung hinzufügen.

app.use((err, req, res, next) => {  
  console.error(err.stack);  
  res.status(500).send('Something went wrong!');  
});  

Spezifischer Umgang mit Fehlern Route

In einem bestimmten Fall route können Sie einen -Block verwenden, try um catch Fehler abzufangen und entsprechende Antwortnachrichten bereitzustellen.

app.get('/profile/:id', async(req, res) => {  
  try {  
    const user = await getUserById(req.params.id);  
    res.json(user);  
  } catch(error) {  
    res.status(404).send('User not found!');  
  }  
});  

Verwendung zentraler Fehler Middleware

Erstellen Sie einen zentralen Fehler, middleware um Fehler zu behandeln, die aus verschiedenen Quellen stammen route.

app.use((req, res, next) => {  
  const error = new Error('Not found');  
  error.status = 404;  
  next(error);  
});  
  
app.use((err, req, res, next) => {  
  res.status(err.status || 500);  
  res.send(err.message || 'Something went wrong');  
});  

Umgang mit asynchronen Fehlern

Im Falle einer asynchronen Behandlung verwenden Sie die next Methode, um Fehler an die globale Fehlerbehandlung zu übergeben middleware.

app.get('/data',(req, res, next) => {  
  fetchDataFromDatabase((err, data) => {  
    if(err) {  
      return next(err);  
    }  
    res.json(data);  
  });  
});  

 

Abschluss

Die Fehlerbehandlung ist ein integraler Bestandteil der Express.js Anwendungsentwicklung. Durch die Verwendung von middleware, die Behandlung spezifischer Fehler und die Bereitstellung geeigneter Antwortnachrichten können Sie Ihren Benutzern ein reibungsloses und zuverlässiges Anwendungserlebnis bieten.