在 Express 应用中,错误处理中间件应当如何进行编写和配置?
考察说明
考查 Express 错误处理中间件的定义、编写方式及其特殊签名。
回答思路
- 【回答框架 1】Express 错误处理中间件是专门处理错误的中间件函数,其定义与其他中间件相同,但必须接收四个参数:err, req, res, next。即使不使用 next,也必须声明它,否则 Express 会将其视为普通中间件,无法捕获错误。
- 【回答框架 2】错误处理中间件应放在所有路由和其他中间件之后,以便捕获它们抛出的错误。当路由处理函数或中间件调用 next(err) 或抛出异常时,Express 会跳过非错误处理中间件,直接跳转到错误处理中间件。
- 【关键点 1】错误处理中间件必须有四个参数:err, req, res, next。
- 【关键点 2】应最后注册错误处理中间件,以捕获所有错误。
- 【关键点 3】使用 next(err) 将错误传递给下一个错误处理中间件。
- 【易错点 1】省略 next 参数会使中间件无法识别为错误处理中间件。