Διαχείριση σφαλμάτων Express.js: Αποτελεσματικές στρατηγικές και μηνύματα απόκρισης

Κατά την ανάπτυξη εφαρμογών, ο χειρισμός σφαλμάτων είναι μια κρίσιμη πτυχή για τη διασφάλιση μιας ομαλής εμπειρίας χρήστη και τον μετριασμό απρόβλεπτων προβλημάτων. Στο Express.js περιβάλλον, έχετε πολλούς τρόπους για να χειριστείτε σφάλματα και να παρέχετε κατάλληλα μηνύματα απάντησης στους χρήστες. Ακολουθεί ένας οδηγός για το πώς να το πετύχετε:

Χρήση Middleware για τον παγκόσμιο χειρισμό σφαλμάτων

Δημιουργήστε έναν γενικό χειρισμό σφαλμάτων middleware προσθέτοντας τον ακόλουθο κώδικα στο τέλος του app.js ή του κύριου αρχείου της Express.js εφαρμογής σας.

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

Χειρισμός σφαλμάτων για συγκεκριμένα Route

Σε ένα συγκεκριμένο route, μπορείτε να χρησιμοποιήσετε ένα try μπλοκ catch για να εντοπίσετε σφάλματα και να παρέχετε κατάλληλα μηνύματα απάντησης.

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!');  
  }  
});  

Χρήση κεντρικού σφάλματος Middleware

Δημιουργήστε ένα κεντρικό σφάλμα middleware για να χειριστείτε σφάλματα που προέρχονται από διάφορα 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');  
});  

Χειρισμός ασύγχρονων σφαλμάτων

Στην περίπτωση ασύγχρονου χειρισμού, χρησιμοποιήστε τη next μέθοδο για να μεταβιβάσετε σφάλματα στον καθολικό χειρισμό σφαλμάτων middleware.

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

 

συμπέρασμα

Ο χειρισμός σφαλμάτων είναι αναπόσπαστο μέρος της Express.js ανάπτυξης εφαρμογών. Χρησιμοποιώντας middleware, χειριζόμενοι συγκεκριμένα σφάλματα και παρέχοντας κατάλληλα μηνύματα απάντησης, μπορείτε να δημιουργήσετε μια ομαλή και αξιόπιστη εμπειρία εφαρμογής για τους χρήστες σας.