Feilhåndtering i Express.js: Effektive strategier og responsmeldinger

Under applikasjonsutvikling er feilhåndtering et avgjørende aspekt for å sikre en jevn brukeropplevelse og redusere uforutsette problemer. I Express.js miljøet har du flere måter å håndtere feil på og gi passende svarmeldinger til brukerne. Her er en guide for hvordan du oppnår dette:

Brukes Middleware for global feilhåndtering

Opprett en global feilhåndtering middleware ved å legge til følgende kode på slutten av app.js eller hovedfilen til Express.js applikasjonen din.

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

Håndtering av feil for spesifikke Route

I en spesifikk route, kan du bruke en try -blokk catch for å fange opp feil og gi passende svarmeldinger.

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

Bruker sentralisert feil Middleware

Lag en sentralisert feil middleware for å håndtere feil som stammer fra ulike 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');  
});  

Håndtering av asynkrone feil

Ved asynkron håndtering, bruk next metoden for å sende feil til den globale feilhåndteringen middleware.

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

 

Konklusjon

Feilhåndtering er en integrert del av Express.js applikasjonsutvikling. Ved å bruke middleware, håndtere spesifikke feil og gi passende svarmeldinger, kan du skape en jevn og pålitelig applikasjonsopplevelse for brukerne dine.