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.