Express 面试题
目录

Express 中如何创建自定义错误处理中间件?

· 约 3 分钟读完 · 第 41 / 120 章

推荐答案

在 Express 中创建自定义错误处理中间件的方式如下:

本题详细解读

1. 错误处理中间件的作用

错误处理中间件是 Express 中用于捕获和处理应用程序中发生的错误的特殊中间件。它与其他中间件的区别在于它有四个参数:err, req, res, next。其中 err 参数表示捕获到的错误对象。

2. 错误处理中间件的定义

错误处理中间件必须定义在所有路由和其他中间件之后,以确保它能捕获到所有未被处理的错误。它的定义方式如下:

3. 自定义错误处理逻辑

在错误处理中间件中,你可以根据业务需求自定义错误处理逻辑。例如:

  • 记录错误日志
  • 返回特定的错误状态码
  • 返回友好的错误信息给客户端

4. 示例代码解析

以下是一个完整的示例代码:

在这个示例中:

  • 第一个中间件模拟了一个抛出错误的场景。
  • 错误处理中间件捕获到这个错误,并返回一个包含错误信息的 JSON 响应。

5. 注意事项

  • 错误处理中间件必须放在所有路由和其他中间件之后。
  • 如果错误处理中间件中没有调用 next(),则请求处理流程会终止。
  • 可以通过 err.status 或 err.statusCode 来设置返回的 HTTP 状态码。