Tijekom razvoja aplikacije, rukovanje pogreškama ključan je aspekt za osiguravanje glatkog korisničkog iskustva i ublažavanje nepredviđenih problema. U Express.js okruženju imate nekoliko načina za rukovanje pogreškama i pružanje prikladnih poruka odgovora korisnicima. Evo vodiča kako to postići:
Korištenje Middleware za globalno rukovanje pogreškama
Stvorite globalno rukovanje pogreškama middleware dodavanjem sljedećeg koda na kraj app.js
ili glavne datoteke vaše Express.js aplikacije.
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something went wrong!');
});
Rukovanje pogreškama za određene Route
U određenom route, možete koristiti try
- catch
blok za hvatanje pogrešaka i pružanje odgovarajućih odgovora.
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!');
}
});
Korištenje centralizirane pogreške Middleware
Stvorite centraliziranu pogrešku middleware za obradu pogrešaka koje potječu iz različitih 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');
});
Rukovanje asinkronim pogreškama
U slučaju asinkronog rukovanja, koristite next
metodu za prosljeđivanje pogrešaka globalnom rukovanju pogreškama middleware.
app.get('/data',(req, res, next) => {
fetchDataFromDatabase((err, data) => {
if(err) {
return next(err);
}
res.json(data);
});
});
Zaključak
Rješavanje pogrešaka sastavni je dio Express.js razvoja aplikacije. Korištenjem middleware, rukovanjem specifičnim pogreškama i pružanjem odgovarajućih poruka odgovora, možete stvoriti glatko i pouzdano iskustvo aplikacije za svoje korisnike.