错误处理 Express.js :有效策略和响应消息

在应用程序开发过程中,错误处理是确保流畅的用户体验和减少不可预见问题的关键方面。 在该 Express.js 环境中,您有多种方法来处理错误并向用户提供合适的响应消息。 以下是有关如何实现此目标的指南:

用于 Middleware 全局错误处理

通过在应用程序的主文件或主文件 middleware 的末尾添加以下代码来 创建全局错误处理 。 app.js Express.js

app.use((err, req, res, next) => {  
  console.error(err.stack);  
  res.status(500).send('Something went wrong!');  
});  

处理特定的错误 Route

在特定情况下 route,您可以使用 try- catch 块来捕获错误并提供适当的响应消息。

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!');  
  }  
});  

使用集中误差 Middleware

创建集中错误 middleware 来处理源自各种 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');  
});  

处理异步错误

在异步处理的情况下,使用该 next 方法将错误传递给全局错误处理 middleware。

app.get('/data',(req, res, next) => {  
  fetchDataFromDatabase((err, data) => {  
    if(err) {  
      return next(err);  
    }  
    res.json(data);  
  });  
});  

 

结论

错误处理是 Express.js 应用程序开发的一个组成部分。 通过利用 middleware 、处理特定错误并提供适当的响应消息,您可以为用户创建流畅且可靠的应用程序体验。