Obravnava napak v Express.js: Učinkovite strategije in odzivna sporočila

Med razvojem aplikacije je obravnavanje napak ključni vidik za zagotavljanje nemotene uporabniške izkušnje in ublažitev nepredvidenih težav. V Express.js okolju imate na voljo več načinov za obravnavo napak in zagotavljanje ustreznih odzivnih sporočil uporabnikom. Tukaj je vodnik, kako to doseči:

Uporaba Middleware za globalno obravnavo napak

Ustvarite globalno obravnavanje napak middleware tako, da dodate naslednjo kodo na konec app.js ali glavno datoteko vaše Express.js aplikacije.

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

Obravnava napak za določene Route

V določenem route lahko uporabite blok try- catch za lovljenje napak in zagotavljanje ustreznih odzivnih sporočil.

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

Uporaba centralizirane napake Middleware

Ustvarite centralizirano napako middleware za obravnavo napak, ki izvirajo iz različnih 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');  
});  

Obravnava asinhronih napak

V primeru asinhrone obravnave uporabite next metodo za prenos napak v globalno obravnavo napak middleware.

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

 

Zaključek

Odpravljanje napak je sestavni del Express.js razvoja aplikacije. Z uporabo middleware, obravnavanjem določenih napak in zagotavljanjem ustreznih odzivnih sporočil lahko ustvarite gladko in zanesljivo izkušnjo uporabe za svoje uporabnike.