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.