教程 express tutorial

错误处理机制

在 Express 应用中,错误处理是保证程序稳定运行的重要环节。Express 提供了专门的错误处理中间件来捕获和处理异常。

什么是错误处理中间件?

错误处理中间件与普通中间件类似,但必须定义四个参数:

js
function (err, req, res, next) {
  // 错误处理逻辑
}

`

Express 识别到带有四个参数的函数时,会将其作为错误处理中间件,只在发生错误时执行。

如何使用错误处理中间件?

将错误处理中间件通过 app.use() 注册到应用中,通常放在所有路由和中间件之后。

js
app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).send('服务器内部错误');
});

触发错误的方法

  • 手动调用 next() 传入错误对象:
js
app.get('/', (req, res, next) => {
  const err = new Error('自定义错误');
  next(err);
});
  • 在异步代码中抛出异常或传递错误。

异步错误处理

对于异步函数,可以使用 try-catch 或第三方库如 express-async-errors 自动捕获。

js
app.get('/async', async (req, res, next) => {
  try {
    await someAsyncTask();
    res.send('成功');
  } catch (err) {
    next(err);
  }
});

多个错误处理中间件

可以注册多个错误处理中间件,按注册顺序依次执行,方便分层处理不同类型的错误。

总结

错误处理中间件是 Express 提供的标准机制,用于捕获并统一处理应用中的异常,提升用户体验和系统稳定性。