Během vývoje aplikací je zpracování chyb zásadním aspektem pro zajištění hladkého uživatelského zážitku a zmírnění nepředvídaných problémů. V Express.js prostředí máte několik způsobů, jak zacházet s chybami a poskytovat uživatelům vhodné zprávy s odpovědí. Zde je návod, jak toho dosáhnout:
Používá se Middleware pro globální zpracování chyb
Vytvořte globální zpracování chyb middleware přidáním následujícího kódu na konec app.js
nebo hlavního souboru vaší Express.js aplikace.
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something went wrong!');
});
Ošetření konkrétních chyb Route
V konkrétním route, můžete použít blok try
- catch
k zachycení chyb a poskytnutí příslušných zpráv s odpovědí.
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!');
}
});
Použití centralizované chyby Middleware
Vytvořte centralizovanou chybu middleware pro zpracování chyb pocházejících z různých 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');
});
Zpracování asynchronních chyb
V případě asynchronního zpracování použijte next
metodu k předání chyb do globálního zpracování chyb middleware.
app.get('/data',(req, res, next) => {
fetchDataFromDatabase((err, data) => {
if(err) {
return next(err);
}
res.json(data);
});
});
Závěr
Zpracování chyb je nedílnou součástí Express.js vývoje aplikací. Využitím middleware, zpracováním konkrétních chyb a poskytováním příslušných zpráv s odpovědí můžete svým uživatelům vytvořit bezproblémovou a spolehlivou aplikaci.