Zpracování chyb v Express.js: Efektivní strategie a zprávy s odpovědí

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.